Архитектура (для разработчиков)
Репозиторий 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.
Основные модули
Модуль |
Назначение |
|---|---|
|
Модели, admin, views: ЛК, расписание, оплаты, тренеры, отчёты |
|
Интеграция PayMaster (основной шлюз) |
|
Альтернативный шлюз, фискальные поля в услугах |
|
Отложенные задачи |
|
Доп. сайты/разделы |
|
Отдача собранного Sphinx HTML с |
Документация на сайте
# 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.py → django.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_libspm_lib → PayMaster, MixPLAT, Bitrix, SendSay
Админки → те же модели
spm_lib