Схемы приложений FastAPI Python
Покажу вам 3 схемы для создания приложений FastAPI Python. Я часто думал о структуре API. Мои учителя показывали мне разные схемы и я решил изобразить эти схемы. Готов поделиться своими наработками. Под схемами я подразумеваю pydantic схемы.
Схема 1. Все в одном файле
Если у вас только 1-5 роутов, то не стоит городить большое приложение с массой файлов. Все уместится в main.py
Схема 2. Папки по категориям
Тут нужно положить файлы в папки согласно назначению. Модели в модели, схемы в схемы. Такое приложение может содержать тысячи эндпоинтов. Есть недостаток - сложно разделить на сервисы. Эта схема идеальная для монолита.
Схема 3. Модульный подход
Тут все сервисы расположены по папкам. Вы работаете в конкретном сервисе и не подключаете файлы их других сервисов. Эту схему приложения в будущем можно легко разбить на микросервисы. Такую структуру приложения легко расчленять.
Все эти схемы подойдут для API Flask. Фласк похож на фастапи. API-приложения FastAPI и Flask имеют голый каркас.

Если вы продвинутый программист, то используйте dao + паттерн repository. В эндпоинтах лучше не располагать подключение к базе данных и orm-запросы. Выборка должна осуществляться короткими функциями, которые импортированы из файлов dao.