- FastAPI
[0.79.0]- Библиотека для разработки API - Uvicorn
[0.18.2]- Производительный веб сервер для запуска проекта - Alembic
[1.8.1]- Удобная создание и управлениями миграциями в базу данных - APScheduler
[3.9.1]- Создание фоновых процессов - aioHttp
[3.8.1]- Отправка ассихнонных запросов на внешний сервис - SQLModel
[0.0.6]- Более удобная работа с моделями базы данных - SQLAlchemy
[1.4.35]- ORM для управлением базой данных Важно: Версии SQLAlchemy 1.4.36 и выше, не корректно работают с SQLModel (сломан Relationship)
- Для запуска проекта требуется Docker-Compose.
- Настройка проекта и базы данных производится в
docker-compose.ymlфайле. - Перейдите в корневой каталог проекта и введите следующие команды:
$ docker-compose up -d --build
$ docker-compose exec web alembic upgrade head- Первая команда соберёт проект
- Вторая команда запускается миграцию базы данных
- После проведенной сборки проект запускается командой docker-compose:
$ docker-compose upAPI Работает на адресе: http://localhost:8004
Swagger Доступен по адресу: http://localhost:8004/docs
OpenAPI Доступен по адресу: http://localhost:8004/openapi.json
Помимо основного задания реализованы пункты из задания:
3. Применяется docker-compose
5. Применяется Swagger UI
9. Обработка ошибок, откладывание запросов, обработка некорректных ответов
12. Обеспечивается подробное логирование