Backend
Общая структура
- Основной сервис: FastAPI (директория
api-admin/)
- Доп. сервис: Python backend + Celery worker (директория
backend/)
- Отдельный сервис: Rust API (директория
api-rust/)
Стек
- Python + FastAPI
- SQLAlchemy + Alembic (миграции)
- Supabase (PostgreSQL/Auth/Storage)
- Redis (broker/result backend Celery, realtime/счётчики)
- MongoDB (вспомогательное хранилище)
Маршруты и префиксы
- Основной API смонтирован на
/ и на /api/v1 (важно для прокси и корректных base URL).
- Auth endpoint'ы (примерно):
/auth/login, /auth/token, /auth/refresh, /auth/me (уточняется по роутерам).
Авторизация
- Используется Supabase Auth как база пользователей + связанная доменная таблица
public.users.
- Критично: триггеры/функции синхронизации пользователей должны заполнять обязательные поля (например
role_id), иначе регистрация может падать.
Работа с БД
- Операционная БД: PostgreSQL внутри Supabase (контейнер
db).
- Доступ из backend через переменные окружения (
SUPABASE_DB_* / прямой DSN).
Интеграции
- Платежи: backend обрабатывает init/webhook.
- Файлы: через Supabase Storage или S3 (в зависимости от конфигурации).
Ошибки и проблемные места (первичный список)
- Стабильность dev-логина зависит от корректных URL и прокси (Vite / Docker internal/external).
- Расхождения миграций/схемы при “чистом” старте могут ломать авторизацию/сидинг.
Текущие backend-задачи
- Актуализировать список endpoint'ов и схемы в [[docs/08_api/api]].
- Уточнить домены MongoDB и ClickHouse (если используются).