Thanks to visit codestin.com
Credit goes to github.com

Skip to content

shorinversion/fastapi_project

Repository files navigation

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

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

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

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

ОШИБКА C ТЕСТАМИ БЫЛА ВЫЗВАНА ОДНОВЛЕНИЕМ БИБЛИОТЕКИ pytest_asyncio https://pytest-asyncio.readthedocs.io/en/latest/how-to-guides/migrate_from_0_21.html#how-to-guides-migrate-from-0-21

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

Урок 4. Провели рефакторинг. Добавили сервисный слой.

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

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

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

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

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

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

  • services — слой содержащий бизнес-логику и работу с ORM.

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

По Fastapi:

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

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

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

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

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

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

По SQLAlchemy:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors