Skip to content

DiGregory/api-books

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Полезная информация

В репозиторий добавлен Makefile с полезными командами. Команды вызываются в консоли вот таким образом:

make linters

make install_reqs

Изменения по урокам

Урок 1. Реализовали ручки приложения с фейковой базой и сериализаторами.

Урок 2. Провели рефакторинг. Разложили сериализаторы и ручки по отдельным пакетам. Подключили настоящую БД в Докере и создали модели.

Урок 3. Провели рефакторинг.

Поместили питонячий код в папку src (чтобы тесты запускались корректно и код был отделен от окружения).

Написали по одному тесту к ручкам.

Настроили pytest и фикстуры. Пример почти идеальной настройки фикстур для работы с БД.

Добавили .env файл и модуль settings для хранения переменных окружения и их легкого использования.

Обновили Makefile.

Структура проекта

Для удобства и соблюдения принципов чистой архитектуры проект разделен на следующие пакеты:

  • configurations — слой для хранения конфигураций, констант, параметров и настроек проекта.

  • models — слой для хранения моделей (ORM или Data Classes).

  • routers — слой для настроек урлов для различных эндпоинтов.

  • schemas — слой содержащий схемы pydantic, отвечает за сериализацию и валидацию.

Полезные ссылки (в основном на английском)

По Fastapi:

  1. Официальная документация

  2. Лучшие практики

  3. Собрание полезных библиотек и пакетов

  4. Полезная статья по структуре проекта

По принципам REST архитектуры:

  1. Полезные рекомендации по правильному написанию REST API

По SQLAlchemy:

  1. Хороший бесплатный видеокурс на YouTube. На русском языке

  2. Видеокурс построенный по официальной доке SQLAlchemy. На русском языке

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published