обновил README.md

This commit is contained in:
Artem Tsyrulnikov
2025-12-14 13:58:04 +03:00
parent 4c3873c727
commit 3f63581029
2 changed files with 31 additions and 14 deletions

View File

@@ -8,9 +8,6 @@ up:
GIT_COMMIT=$$(git rev-parse --short HEAD) docker compose up --build -d --force-recreate GIT_COMMIT=$$(git rev-parse --short HEAD) docker compose up --build -d --force-recreate
docker compose logs -f docker compose logs -f
migrate:
docker exec -it tgex-backend-backend-1 .venv/bin/alembic upgrade head
migrate-init: migrate-init:
export $$(cat .env | xargs) && aerich init-db export $$(cat .env | xargs) && aerich init-db

View File

@@ -3,23 +3,43 @@
## Быстрый старт ## Быстрый старт
```bash ```bash
# Создать .env # Установить зависимости
make env uv sync
# Запустить # Скопировать примеры конфигов
cp docker-compose.yml.example docker-compose.yml
cp .env.example .env
# Поднять Postgres и сервисы
make up make up
# Применить миграции # (первый запуск) проинициализировать базу и таблицы aerich
make migrate make migrate-init
# Применить актуальные миграции
make migrate-up
``` ```
Открыть: Открыть:
- API: http://localhost:8000 - API: http://localhost:8000
- Docs: http://localhost:8000/docs - Swagger: http://localhost:8000/docs
## Команды ## Полезные команды
- `make test` - запустить тесты ```bash
- `make up` - поднять приложение make up # поднять приложение и Postgres
- `make migrate` - применить миграции БД make down # остановить контейнеры
- `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`)