Skip to content

feat: implement real-time exchange rates service with multi-source integration, caching, historical data, alerts, WebSocket, and background jobs#16

Merged
Pvsaint merged 2 commits intoMetroLogic:mainfrom
OthmanImam:feat/Real-timeExchangeRateService
Jul 31, 2025
Merged

feat: implement real-time exchange rates service with multi-source integration, caching, historical data, alerts, WebSocket, and background jobs#16
Pvsaint merged 2 commits intoMetroLogic:mainfrom
OthmanImam:feat/Real-timeExchangeRateService

Conversation

@OthmanImam
Copy link
Copy Markdown

Real-Time Exchange Rates Service

This PR introduces a comprehensive exchange rates service for supported cryptocurrencies and fiat currencies, featuring:

  • Multi-source integration: Fetches rates from CoinGecko and CoinMarketCap with automatic failover.
  • Real-time updates: WebSocket server (/ws/rates) broadcasts current and updated rates to clients.
  • Historical data storage: Periodic background jobs store historical rates in Redis for analytics and reference.
  • Price alert system: Users can set price alerts via API, with validation and storage.
  • Caching and rate limiting: Redis caching for efficient data retrieval and API rate limit handling.
  • Volatility calculations: Utility for price volatility analytics.
  • Data validation and sanitization: Ensures safe and correct data throughout the service.
  • API endpoints:
    • GET /api/rates/current — Get current exchange rates
    • GET /api/rates/historical — Get historical rates
    • POST /api/rates/alerts — Set price alerts
    • GET /api/rates/supported-currencies — List supported currencies

Close: #11

…tegration, caching, historical data, alerts, WebSocket, and background jobs
@Pvsaint
Copy link
Copy Markdown
Contributor

Pvsaint commented Jul 30, 2025

@OthmanImam One check is failing, please fix

@OthmanImam
Copy link
Copy Markdown
Author

Hi @Pvsaint
i have fixed it, thanks

@Pvsaint Pvsaint self-requested a review July 31, 2025 22:36
Copy link
Copy Markdown
Contributor

@Pvsaint Pvsaint left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks okay!

@Pvsaint Pvsaint merged commit 0b47e4b into MetroLogic:main Jul 31, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BE: Implement Real-time Exchange Rate Service

3 participants