Initial commit
Build & Push / build (push) Canceled after 0s

This commit is contained in:
2026-08-05 19:31:35 +03:00
commit a33fa24e99
272 changed files with 40566 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# 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`)