Перейти до основного вмісту

Графіки цін

Інтерактивні 30-денні графіки історії цін для криптопроектів.

Огляд

Компонент Price Chart відображає історичні дані про ціни для будь-якого криптопроекту на дашборді. Він використовує дані з CoinGecko's market chart API, кешовані для оптимальної продуктивності.

Особливості

  • 30-Day History: Щоденні цінові точки за останній місяць
  • Price Change Badge: Показує відсоткову зміну (кольорова індикація: зелений/червоний)
  • Hover Tooltips: Точна ціна на будь-яку дату
  • Responsive Design: Адаптується до будь-якого розміру екрана

API Endpoint

GET /api/crypto/chart/{slug}?days=30

Параметри:

  • slug: CoinGecko project slug (наприклад, bitcoin, ethereum)
  • days: Тривалість історії (1-365, за замовчуванням: 30)

Відповідь:

{
"slug": "bitcoin",
"days": 30,
"prices": [
[1705536000000, 43250.50],
[1705622400000, 43180.25],
...
],
"market_caps": [...],
"total_volumes": [...]
}

Стратегія кешування

Data TypeCache Duration
Дані діаграми (≤7 днів)1 година
Дані діаграми (>7 днів)1 година
Дані проекту24 години

Часові діапазони

Наразі підтримуються:

  • 7D: Тижневий тренд
  • 30D: Місячний тренд (за замовчуванням)
  • 90D: Квартальний тренд
  • 1Y: Річний тренд

Візуальний дизайн

Діаграма використовує чистий, мінімалістичний дизайн:

  • Area fill: Тонкий градієнт, що показує рух ціни
  • Grid lines: Пунктирні горизонтальні лінії для довідки
  • Color scheme:
    • Зелений (#22c55e) для позитивних змін
    • Червоний (#ef4444) для негативних змін

Технічний стек

  • Library: Nivo ResponsiveLine
  • Data Source: CoinGecko API
  • Caching: Redis (1 hour TTL)