Архитектура (для разработчиков)

Репозиторий python-analytics-master — Django-приложение, обслуживающее множество спортивных секций на одном коде.

Мультисекционность

В django_project/settings.py задан список APP_LIST (например demo1, gymten, sball). Для каждого элемента в django_project/urls.py подключаются URL префикса <app>/ из spm_lib.urls.

Клиент заходит на https://sportlead.ru/<app>/... — контекст секции определяется по префиксу URL.

Основные модули

Модуль

Назначение

spm_lib

Модели, admin, views: ЛК, расписание, оплаты, тренеры, отчёты

paymaster

Интеграция PayMaster (основной шлюз)

mixplat

Альтернативный шлюз, фискальные поля в услугах

background_task

Отложенные задачи

cok_site, sportbiz

Доп. сайты/разделы

docs (Django app)

Отдача собранного Sphinx HTML с DOCS_ROOT

Документация на сайте

# django_project/settings.py
DOCS_ROOT = os.path.join(BASE_DIR, 'docs/build/html')

URL: /docs/include('docs.urls') (приложение docs в INSTALLED_APPS).

Схема потоков (упрощённо)

Браузер клиента
     │
     ▼
sportlead.ru/<app>/  ──► spm_lib.views (ЛК, покупка, расписание)
     │
     ├──► Django Admin  (/admin/) — таблицы ORM
     ├──► SportLead Admin — аналитика, генерация расписания
     └──► paymaster / mixplat ──► внешний платёжный шлюз

Сборка пользовательской документации

Sphinx в docs/source/ при сборке поднимает Django (conf.pydjango.setup()) для autodoc при необходимости.

Интеграции (из кода и about.rst)

Bitrix24, Mango Office, Carrotquest, Notisend, SendSay, SendPulse, Telegram-бот сервиса, Web Push (см. server/TELEGRAM_DELIVERY.md).

Развёртывание

Скрипты _deploy_*.py, server/ — вспомогательные заметки; продакшен на sportlead.ru (gunicorn, nginx — вне этого репозитория).

Диаграмма (Mermaid)

Для просмотра в GitHub/GitLab откройте корневой README.md. Ниже — та же схема в текстовом виде.

  • Портал / ЛК / ЛК тренераspm_lib

  • spm_lib → PayMaster, MixPLAT, Bitrix, SendSay

  • Админки → те же модели spm_lib