Skip to content

Vladimir-Ivanov-92/time_value_API

Repository files navigation

Time_value_API

Получение агрегированной информации из БД. Для записи информации в БД используется написанная на 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

Настройка и запуск:

  1. Перейдите в директорию, в которую будете клонировать репозиторий. Необходимо наличие установленного и запущенного Docker.
  2. Для скачивания репозитория и разворачивания проекта локально в docker контейнерах (создание БД, тестовой БД, запуска приложения):
git clone https://github.com/Vladimir-Ivanov-92/time_value_API.git
cd time_value_API
make up
  1. http://0.0.0.0:8080/docs для ознакомления с документацией.
  2. Для запуска тестов:
make test
  1. Для запуска функции, выполняющий хранимую процедуру каждые 5 секунд в течении 1 минуты:
make run_stored_pocedure
  1. Для заверешения работы приложения:
make down