1 / 8
💹

CurrencyTracker

Сервис для отслеживания курсов валют в реальном времени
Авторы: Делеске Илона, Умидов Алишер, Жан Жобэрне
2 / 8

Проблема и цель

❌ Проблема

Пользователям сложно следить за изменением валютных курсов в разных источниках и своевременно реагировать на колебания.

✅ Цель проекта

Создать удобный мультиплатформенный сервис для отслеживания и анализа валютных курсов с уведомлениями и Telegram-ботом.

📈
3 / 8

Основные функции

🌍

Просмотр курсов

Актуальные курсы валют в реальном времени

💰

Избранное

Добавление валют в избранное для быстрого доступа

🔔

Уведомления

Настройка уведомлений при достижении пороговых значений

📊

Графики

Просмотр графиков динамики курса валют

📱

Telegram-бот

Получение уведомлений в Telegram, push и email

Быстрый доступ

Мгновенный доступ к важной информации

4 / 8

Пользовательские сценарии (User Stories)

Как пользователь, я хочу...

💬
Добавлять валютные пары в избранное для быстрого мониторинга
💬
Настраивать уведомления при достижении определенного порога курса
💬
Смотреть графики динамики курса за различные периоды времени
💬
Получать уведомления прямо в Telegram о важных изменениях
💬
Анализировать тренды и принимать обоснованные решения
5 / 8

Архитектура системы

                 ┌──────────────────────────────┐
                 │        CurrencyTracker        │
                 └──────────────────────────────┘
                            │
       ┌────────────────────┴────────────────────┐
       │                                         │
 ┌───────────────┐                       ┌───────────────┐
 │   Web App     │                       │  Mobile App   │
 │ (React)       │                       │ Kotlin + Jetpack │
 └───────────────┘                       └───────────────┘
       │                                         │
       └──────────────┐──────────────┐──────────┘
                      │
              ┌───────────────┐
              │ Backend API   │
              │ (Spring Boot /│
              │  Node.js)     │
              └───────────────┘
                │     │      │
          ┌──────┘     │      └──────┐
          │             │             │
  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
  │ PostgreSQL DB│ │ External APIs│ │ Telegram Bot │
  │ users, rates │ │ exchangerate │ │ aiogram /    │
  │ alerts, hist.│ │ CurrencyAPI  │ │ telegraf     │
  └──────────────┘ └──────────────┘ └──────────────┘
                
6 / 8

Технологический стек

Frontend

React (Web)
Kotlin + Jetpack Compose (Mobile)

Backend

Spring Boot / Node.js (Express)

Database

PostgreSQL

External APIs

exchangerate.host
CurrencyAPI

Telegram Bot

aiogram / telegraf

7 / 8

Оценка NFR (Нефункциональные требования)

Показатель Значение Пояснение
⚡ Throughput ~1000 RPS Запросов в секунду при 10k пользователей
🚀 Latency <200 мс Среднее время отклика
📊 R/W ratio 95% / 5% Большинство операций — чтение
📈 Traffic volume ~200 КБ/пользователь Средний обмен данными
💾 Storage ~1 ГБ/год История курсов в PostgreSQL
⚡ Cache Redis Хранение актуальных курсов 30 секунд
Вывод: Система масштабируема, быстрая и оптимизирована по ресурсам.
8 / 8

План развития

💎
Поддержка криптовалют и драгоценных металлов
🤖
Прогнозирование на основе машинного обучения
🏦
Интеграция с банковскими API
📊
Улучшение визуализации графиков
🚀
Масштабирование до 10 000+ пользователей
📱
Разработка мобильного приложения