обновил README.md
This commit is contained in:
3
Makefile
3
Makefile
@@ -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
|
||||||
|
|
||||||
|
|||||||
42
README.md
42
README.md
@@ -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`)
|
||||||
|
|||||||
Reference in New Issue
Block a user