Пользователям сложно следить за изменением валютных курсов в разных источниках и своевременно реагировать на колебания.
Создать удобный мультиплатформенный сервис для отслеживания и анализа валютных курсов с уведомлениями и Telegram-ботом.
Актуальные курсы валют в реальном времени
Добавление валют в избранное для быстрого доступа
Настройка уведомлений при достижении пороговых значений
Просмотр графиков динамики курса валют
Получение уведомлений в Telegram, push и email
Мгновенный доступ к важной информации
┌──────────────────────────────┐
│ 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 │
└──────────────┘ └──────────────┘ └──────────────┘
React (Web)
Kotlin + Jetpack Compose (Mobile)
Spring Boot / Node.js (Express)
PostgreSQL
exchangerate.host
CurrencyAPI
aiogram / telegraf
| Показатель | Значение | Пояснение |
|---|---|---|
| ⚡ Throughput | ~1000 RPS | Запросов в секунду при 10k пользователей |
| 🚀 Latency | <200 мс | Среднее время отклика |
| 📊 R/W ratio | 95% / 5% | Большинство операций — чтение |
| 📈 Traffic volume | ~200 КБ/пользователь | Средний обмен данными |
| 💾 Storage | ~1 ГБ/год | История курсов в PostgreSQL |
| ⚡ Cache | Redis | Хранение актуальных курсов 30 секунд |