Files
tgex-backend/README.md
2025-12-14 13:58:04 +03:00

46 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`)