• Обзор проекта
– FastAPI backend: SQL‑схемы, маршруты OpenAPI и модели SQLAlchemy уже существуют.
– Цель: подготовить сервис к production‑готовности с полной бизнес‑логикой, начальным наполнением данными и >95 % покрытием тестами.
– Среда: Python 3.13, FastAPI, SQLAlchemy 2.x async, PostgreSQL (asyncpg).
• Текущая кодовая база
– Проект на Python 3.13, управляемый Poetry.
– FastAPI приложение с OpenAPI YAML, описывающим каждый маршрут и схему.
– Модели SQLAlchemy авто‑сгенерированы через sqlacodegen.
– Библиотеки аутентификации: python‑jose[cryptography], passlib[bcrypt], zxcvbn.
• Объем работ
– Реализовать все API endpoint-и
• Связать каждый маршрут OpenAPI с соответствующей моделью SQLAlchemy.
• Использовать async‑сессии, type hints и модели Pydantic v2.
• Добавить конфигурацию через pydantic‑settings.
– Начальное наполнение базы
• Написать идемпотентный async‑скрипт, который загружает реалистичные фикстуры.
• Включить bcrypt‑хешированные демо‑пароли; обеспечить zxcvbn-рейтинг ≥ 3.
– Всеобъемлющие тесты
• Создать набор тестов pytest (sync + pytest‑asyncio) с использованием httpx.AsyncClient.
• Покрыть позитивные и негативные сценарии (ошибки аутентификации, 404, валидация).
• Достичь ≥ 95 % покрытия строк; зафиксировать это в CI.
– Качественные рубежи
• Все pre‑commit-хуки должны проходить.
• Рабочий процесс GitHub Actions (или локально) запускает pytest и coverage без ошибок.
• Результаты
– Чистый запуск приложения: uvicorn app.main:app --reload без traceback.
– Скрипт начального наполнения: python -m app.seed повторяемый и безопасный.
– Зеленый бейдж CI в ветке main.
– Обновленный README.md с инструкциями по быстрому старту, seed и тестированию.
• Бюджет
Я не знаю, какой актуальный бюджет для этого проекта, поэтому предложите свой вариант бюджета.