В SQL базе данных есть продукты и категории. Одному продукту может соответствовать много категорий, в одной категории может быть много продуктов.
Напишите HTTP API через которое можно получить:
- список всех продуктов с их категориями,
- список категорий с продуктами,
- список всех пар «Имя продукта – Имя категории».
Если у продукта нет категорий, то он все равно должен выводиться. Если у категории нет продуктов, то она все равно должна выводиться.
Проект должен содержать docker-compose.yml
файл, через который можно запустить сервис и проверить его работу.
Дополнительно оценим покрытие кода юнит-тестами.
Настройки для разработки можно задать переменными окружения (см. Makefile
) или использовать дефолтные из класса конфига:
make run
Создать файл с настройками .env
и запустить Docker Compose:
cp .env.example .env
make up # запустит `docker compose up --build -d`
Open API будет доступен по адресу http://localhost:8000/api/openapi
Тесты можно запустить в работающем докер-контейнере:
docker exec $YOUR_CONTAINER_ID pytest /code/app/test_main.py
Для запуска из директории проекта понадобятся зависимости:
pip install -r requirements.txt
make test # запустит `pytest . -sv`