# tgex-backend ## Быстрый старт ```bash # Установить зависимости uv sync # Скопировать примеры конфигов cp docker-compose.yml.example docker-compose.yml cp .env.example .env # Поднять Postgres и сервисы make up # (первый запуск) проинициализировать базу и таблицы aerich make migrate-init # Применить актуальные миграции make migrate-up ``` Открыть: - API: http://localhost:8000 - Swagger: http://localhost:8000/docs ## Полезные команды ```bash make up # поднять приложение и Postgres make down # остановить контейнеры make migrate-init # однократная инициализация базы (aerich init-db) make migrate-up # применить миграции (aerich upgrade) make migrate-create # сгенерировать новую миграцию (aerich migrate) make test # pytest uv run ruff check . # линтер uv run mypy . # типизация ``` ## Архитектура - FastAPI + PostgreSQL + Tortoise ORM, aiogram 3.x для бота - Слои: `domain` (модели/правила), `usecase` (бизнес-логика), `adapter` (БД/бот/JWT), `controller` (HTTP + Telegram), `dto` - Все use case оборачиваются в `self.database.transaction()` и проверяют права через `domain.WorkspacePermissions` - Миграции и схема БД управляются aerich (`migrations/models`)