Данный шаблон содержит базовую структуру микросервиса для быстрого старта разработки:
-
FastAPI приложение:
- Маршрутизаторы в
src/app/routers - Модели Pydantic в
src/schemasиsrc/models - Пример API эндпоинта в
src/app/routers/api/hello_world.py
- Маршрутизаторы в
-
MongoDB интеграция:
- Подключение через Beanie ODM
- Инициализация базы данных в
src/services/database.py
-
Конфигурация:
- Настройки через переменные окружения в
src/services/settings_model.py - Логирование через Loguru в
src/services/logs/handlers.py - Обработка ошибок в
src/services/errors.py - Аутентификация микросервисов в
src/services/auth.py
- Настройки через переменные окружения в
-
Докеризация:
Dockerfileдля продакшенаdev.Dockerfileдля разработкиdocker-compose.ymlдля запуска сервисаdocker-compose-test.ymlдля запуска тестов
-
Инструменты разработки:
- Python 3.13
- uv для управления зависимостями
- pytest для тестирования
- ruff для линтинга и форматирования
- mypy для проверки типов
- pre-commit для авто-использования ruff
-
Настройки проекта:
- Обновить имя и описание проекта в
pyproject.toml
- Обновить имя и описание проекта в
-
Настройки базы данных:
- Настроить MongoDB URL, имя БД и путь к сертификату в переменных окружения
- Добавить модели документов Beanie в
initialize_database()вsrc/services/database.py
-
Аутентификация:
- Настроить API ключи микросервисов в переменных окружения
-
Разработка API:
- Создать необходимые маршрутизаторы в
src/app/routers - Добавить модели схем в
src/schemas - Реализовать бизнес-логику в
src/services
- Создать необходимые маршрутизаторы в
MONGO__URL=mongodb://user:password@mongodb:27017
MONGO__DB_NAME=your_db_name
MONGO__CERT_FILE_PATH=/path/to/cert.pem (опционально)
MICROSERVICES__KEY=your-secret-keyruff check
ruff format
mypy .
pre-commit install
uv sync