5d6aa99880aea06e1c7caca8aef6bd52065cd1c2
tgex-backend
Быстрый старт
# Установить зависимости
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
Полезные команды
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)
Description
Languages
Go
57.1%
Python
42.7%