Перейти к содержанию

Главный сервис (main)🔗

main — это центральный сервис проекта, реализованный на Django. Он отвечает за структуру базы данных, админку, пользовательские модели и всё, что связано с централизованным хранением и управлением данными.

Главный сервис не обрабатывает логику сообщений, не обращается к OpenAI напрямую, и не выполняет асинхронные задачи — это делают микросервисы. По сути этот сервис - архитектор базы данных и держатель админки.


Основные функции🔗

  • Хранение пользователей (CustomUser)
  • Расширенная модель профиля (BaseProfile) + конкретные профили платформ
  • Управление балансом и транзакциями
  • Административный интерфейс
  • Миграции, структура базы, начальные данные
  • Поддержка фронтенда: выдача данных через API (в перспективе)

Структура приложения🔗

Приложения внутри Django-проекта:

Приложение Назначение
users Кастомная модель пользователя
base_profiles Базовая модель профиля, от которой наследуются все платформенные
billing Модели транзакций, баланса, истории
vk, whatsapp, widget Конкретные профили для платформ

Особенности🔗

  • Его база данных используется как единственный источник истины по профилям, пользователям и транзакциям
  • Все микросервисы используют его БД (через data_service)
  • balance_cached в модели пользователя — оперативный баланс, сверяется с транзакциями (в перспективе, циклично)

Связь с микросервисами🔗

  • data_service работает напрямую с БД main, выполняя асинхронные задачи
  • Все операции по списанию, проверке профиля и сохранению сообщений — происходят в этой базе, но не этим сервисом

Назначение документации этого раздела🔗

Этот раздел описывает каждый из модулей (users, billing, base_profiles и т.д.) и поясняет структуру моделей, поля и их логику.