Проект содержит в себе 3 приложения: app, deribit_client, bd_init.
Каждое приложение содержит свой Dockerfile
.
Весь проект запускается из docker-compose
.
При запуске также создаётся общая таблица на Postgres
в отдельном контейнере.
Также проект имеет единое окружение в файле .env
, расположенным в корне.
API для взаимодействия с базой данных через запросы.
Реализован на FastAPI. Использует асинхронное взаимодействие с базой.
Клиент для получения данных с криптобиржи Deribit и загрузки данных в базу.
Перед запуском контейнеров с app
и deribit_client
создаёт
таблицу в контейнере db
с Postgres
.
Перед запуском проекта необходимо создать файл .env, за основу можно взять .env.example.
Далее выполнить команду docker-compose up --build
.
Во время запуска будет создан контейнер с базой данных.
Когда контейнеры app
и deribit_client
начнут работу, то веб интерфейс
для отправки запросов будет доступен по адресу http://localhost:8000/docs.
Контейнеры могут начать работу не сразу, так как они ожидают создания таблицы prices контейнером bd_init. Поэтому при запуске они могут сначала вывести в консоль ошибку. Помимо ошибки будет текст
Waiting for prices table...
. В таком случае надо подождать