• Przegląd projektu
– FastAPI backend: schematy SQL, trasy OpenAPI i modele SQLAlchemy już istnieją.
– Cel: doprowadzić usługę do gotowości produkcyjnej z pełną logiką biznesową, początkowym wypełnieniem danymi oraz >95 % pokryciem testami.
– Środowisko: Python 3.13, FastAPI, SQLAlchemy 2.x async, PostgreSQL (asyncpg).
• Obecna baza kodu
– Projekt na Python 3.13, zarządzany przez Poetry.
– Aplikacja FastAPI z OpenAPI YAML, opisująca każdą trasę i schemat.
– Modele SQLAlchemy automatycznie generowane przez sqlacodegen.
– Biblioteki uwierzytelniania: python‑jose[cryptography], passlib[bcrypt], zxcvbn.
• Zakres prac
– Implementacja wszystkich endpointów API
• Połączyć każdą ścieżkę OpenAPI z odpowiednim modelem SQLAlchemy.
• Używać sesji async, wskazówek typów i modeli Pydantic v2.
• Dodać konfigurację za pomocą pydantic‑settings.
– Wstępne wypełnienie bazy danych
• Napisać idempotentny skrypt async, który załaduje realistyczne fikstury.
• Włączyć haszowane bcrypt demo‑hasła; zapewnić zxcvbn-rating ≥ 3.
– Kompleksowe testy
• Utworzyć zestaw testów pytest (sync + pytest‑asyncio) z użyciem httpx.AsyncClient.
• Pokryć scenariusze pozytywne i negatywne (błędy uwierzytelniania, 404, walidacja).
• Osiągnąć ≥ 95 % pokrycia linii kodu; odnotować to w CI.
– Wysokiej jakości granice
• Wszystkie pre‑commit‑hooki muszą przejść.
• Proces pracy GitHub Actions (lub lokalnie) uruchamia pytest i coverage bez błędów.
• Wyniki
– Czysty start aplikacji: uvicorn app.main:app --reload bez tracebacków.
– Skrypt wstępnego wypełniania: python -m app.seed powtarzalny i bezpieczny.
– Zielony badge CI na gałęzi main.
– Zaktualizowany README.md z instrukcjami quick‑start, seed i testowania.
• Budżet
Nie znam aktualnego budżetu na ten projekt, więc proszę zaproponuj swoją wersję budżetu.