• Огляд проєкту
– FastAPI back‑end: 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 i coverage без помилок.
• Результати
– Чистий запуск застосунку: uvicorn app.main:app --reload без traceback‑ів.
– Скрипт початкового наповнення: python -m app.seed повторюваний і безпечний.
– Зелений бейдж CI у гілці main.
– Оновлений README.md з інструкціями quick‑start, seed і тестування.
• Бюджет
Я не знаю, який актуальний бюджет для цього проєкту, тому запропонуйте свій варіант бюджету.