Получение агрегированной информации из БД. Для записи информации в БД используется написанная на PL/pgSQL хранимая процедура и триггер. Данные хранятся в БД postgres. Для работы с данными используется SQLAlchemhy и Alembic для создания миграций. В проекте применяется ООП, валидация данных с помощью pydantic. Тестирование с помощью pytest. Сборка с помощью Docker. Запуск с помощью Makefile.
- Python v3.11
- fastapi v0.103
- fastapi-users v12.1
- sqlalchemy v2.0
- alembic v1.11
- pandas v2.0
- pydantic v2.3
- poetry
- Перейдите в директорию, в которую будете клонировать репозиторий. Необходимо наличие установленного и запущенного Docker.
- Для скачивания репозитория и разворачивания проекта локально в docker контейнерах (создание БД, тестовой БД, запуска приложения):
git clone https://github.com/Vladimir-Ivanov-92/time_value_API.git
cd time_value_API
make up
- http://0.0.0.0:8080/docs для ознакомления с документацией.
- Для запуска тестов:
make test
- Для запуска функции, выполняющий хранимую процедуру каждые 5 секунд в течении 1 минуты:
make run_stored_pocedure
- Для заверешения работы приложения:
make down