Production-ready шаблон async-бэкенда на FastAPI + SQLAlchemy 2.0 + PostgreSQL.
Демонстрирует паттерны, которые используются в реальных проектах: слоистая архитектура, JWT-авторизация, Alembic-миграции, Docker и pytest.
- FastAPI, Pydantic v2
- SQLAlchemy 2.0 (async) + asyncpg
- Alembic
- JWT (access + refresh)
- pytest + httpx
- Docker Compose
app/
routers/ # HTTP-слой (тонкие контроллеры)
service/ # бизнес-логика
repository/ # доступ к БД
database/ # модели и engine
security/ # JWT и dependencies
schemas/ # Pydantic DTO
Поток запроса: router → service → repository → database.
git clone https://github.com/realReloadTime/fastapi-production-starter.git
cd fastapi-production-starter
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envdocker compose up -d dbalembic upgrade head
uvicorn app.main:app --reloadSwagger: http://127.0.0.1:8000/docs
docker compose up --build| Метод | Endpoint | Описание |
|---|---|---|
| POST | /users/register |
Регистрация |
| POST | /users/login |
Логин (OAuth2 form) |
| POST | /users/refresh |
Обновление токенов |
| GET | /users/me |
Текущий пользователь |
| CRUD | /tasks |
Задачи пользователя |
pytestТесты используют in-memory SQLite и не требуют PostgreSQL.
- Чистое разделение слоёв (без «бизнес-логики в роутере»)
- Async repository pattern
- JWT auth с refresh-токенами
- Миграции Alembic
- Готовый Docker-деплой
realReloadTime — Python backend, async FastAPI, PostgreSQL, AI/RAG.