Дисклеймер. Ниже представлен черновой вариант документации.
Приложение, разрабатываемое при помощи это библиотеки: https://github.com/albertalexandrov/fastapi-django-example
Вспомогательная библиотека для разработки приложений на FastAPI.
Реализует функционал для наиболее распространных ситуаций (создание экзмепляра приложения FastAPI по заданным настройкам, работа с БД, фильтрация, пагинация, авторизация, аутентификация).
- Названия библиотеки
- Создание и запуск приложения
- Работа с БД, репозитории
- Расширяемость
- Пермишены
- Аутентификация
- Валидация входящих данных
- Фильтрация, пагинация, сортировка.md
- Логгирование
- Отправка электронных писем
- Шаблонизация
- TODO
-
множественные БД (в одну БД (мастер) пишется, в другую синхронизируется и из нее читается) - генерация шаблона проекта как в django (также генерируется файл manage.py, в котором дополняются переменные окружения и который является входной точкой в приложение)
- прикинуть, какие еще консольные команды могут пригодиться (напр., миграции)
- репозитории
- http-исключения
- разработать формат ошибок (ошибки для тоста, ошибки валидации)
- интегрировать https://github.com/albertalexandrov/django-like-repositories
- работа с БД не только в рамках апишки, но в рамках напр. асинхронных задач
- расширяемые сервисы для наиболее частых операций типа получить по id, обновить, получить список и тд
-
инжектить сессию в мддлвари наверно не вариант, тк может быть несколько бд - закрепить терминологию контроллер/сервис/репозиторий?
- троттлинг
-
настройки вьюх как в DRF -
как переопределять дефолтные настройки вьюх? (напр по умолчанию ручки за авторизацией, но для одной какой то нужен доступ без аутентификации) - расширяемость либы как в django
- Пермишены
- Аутентификация
- Отправка электронных писем (мультибекенды)
- Шаблонизация