Данный сервис написан с помощью таких технологий:
- Python 3.12
- FastAPI
- SQLAlchemy
Сервис в качестве БД пока использует только PostgreSQL. В дальнейшем можно подправить логику работы сервиса для возможности использовать различные БД.
Также для работы проекта используется Nginx, настроенный на reverse proxy
Для деплоя используется Docker и его механизм docker compose
Для запуска сервиса вам необходим установленный docker на вашем ПК
- Перейдите в корневую папку проекта
- В терминале хоста выполните команду
docker compose up --build
- Дождитесь загрузки и полного развертывания контейнеров
- В другом терминале хоста исполните команду
docker exec -it <id_контейнера_с_fastapi> bash
- В терминале контейнера исполните команду
python src/main.py --prepare-db
Сервис готов к работе!
Крайне желательно очищать БД после каждого завершения работы с сервисом посредсвтом введения команды
python src/main.py --clean-db
в терминале контейнера fast-api
По пути http://127.0.0.1:80/docs
работает Swagger - интерактивная документация API сервиса.
Вы можете ее изучить и позапускать прямо там различные доступные эндпоинты API