Под готовую верстку шаблона, с прописанными требованиями к API требовалось заняться бэкэнд составляющей, а именно: чётко выполнить требования к API, покрыть тестами, запуск через Docker-compose.
Начал с базы данных: использовал SQLAlchemy(asyncpg/PostgreSQL)
После разделил сущность приложения на слои: модели бд, api эндпоинты, сервисный слой - через него происходит взаимодействие между api слоем и моделями базы.
Покрыл тестам, в тестах подменял основную базу на тестовую.
Написал Dockerfile для приложения и docker compose.yaml для взаимодействия между контейнерами Postgres и приложения
Благодаря FastApi готовка документация к API
Эндпоинты протестированы через Pytest(httpx) и отрабатывают согласно ТЗ
Благодаря томам docker-compose данные между сессиям сохраняются, также тестовая база не перетирает основную.
К репозиторию оформлено README в котором описана суть репозитория, делой, запуск, примеры и т.д.