В репозиторий добавлен Makefile с полезными командами. Команды вызываются в консоли вот таким образом:
make linters
make install_reqs
Урок 1. Реализовали ручки приложения с фейковой базой и сериализаторами.
Урок 2. Провели рефакторинг. Разложили сериализаторы и ручки по отдельным пакетам. Подключили настоящую БД в Докере и создали модели.
Урок 3. Провели рефакторинг.
Поместили питонячий код в папку src (чтобы тесты запускались корректно и код был отделен от окружения).
Написали по одному тесту к ручкам.
Настроили pytest и фикстуры. Пример почти идеальной настройки фикстур для работы с БД.
Добавили .env файл и модуль settings для хранения переменных окружения и их легкого использования.
Обновили Makefile.
Для удобства и соблюдения принципов чистой архитектуры проект разделен на следующие пакеты:
-
configurations
— слой для хранения конфигураций, констант, параметров и настроек проекта. -
models
— слой для хранения моделей (ORM или Data Classes). -
routers
— слой для настроек урлов для различных эндпоинтов. -
schemas
— слой содержащий схемы pydantic, отвечает за сериализацию и валидацию.