Skip to content

MAGNAT12/Crypto-Prices-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Prices API

Описание проекта

Проект собирает каждую минуту цены BTC/USD и ETH/USD с биржи Deribit и сохраняет их в базу данных PostgreSQL. Предоставляет API для получения данных:

  • Последняя цена валюты
  • Вся история валюты
  • История с фильтром по дате

Все методы GET и требуют обязательный query-параметр ticke

Структура проекта

testprojcert/
    /app:
        /cleent:
            deribit_client.py # получение данных
        celery_app.py # собирает данные каждую минуту
        database.py # база данных и запросы
        main.py # API 
        tasks.py # создание задачи
    requirements.txt # библионтеки для запуска

Локальная установка

  1. Установить Python и виртуальное окружение
python3 -m venv venv
source venv/bin/activate
  1. Установить зависимости
pip install -r requirements.txt

Настройка PostgreSQL

  1. Установи PostgreSQL локально.
  2. Создай базу данных и пользователя:
CREATE DATABASE crypto_db;
CREATE USER user WITH PASSWORD password;
GRANT ALL PRIVILEGES ON DATABASE crypto_db TO user;
  1. Обнови файл app/database.py:
DATABASE_URL = "postgresql://user:password@localhost:5432/crypto_db"

Настройка Celery

  1. Для запуска Celery нужне Redis, так что у бедитесь что он у вас установлен

  2. Запуск Celery:

celery -A celery_app beat --loglevel=info

Примеры API-запросов

  1. Запрос истории:
GET /price
  1. Запрос последний цены:
GET /prices/latest
  1. Запорс по времени:
GET /prices/filter

Все запросы используют query-параметр ticker.

Примечания

  • Время хранится в UNIX timestamp
  • Каждая запись содержит:
    • ticker — BTC или ETH
    • price — цена
    • timestamp — время в ms

Все методы GET

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages