Microservices-Based Crypto Trading Platform Development by Muhammad AwaisMicroservices-Based Crypto Trading Platform Development by Muhammad Awais

Microservices-Based Crypto Trading Platform Development

Muhammad Awais

Muhammad Awais

Burency is a modern crypto trading exchange that provides users with the ability to buy, sell, and trade cryptocurrencies in real-time. The platform is built using a robust microservices architecture, with support for fiat integration, spot/futures trading, and real-time notifications. It is designed for high throughput, scalability, and security.

🧩 Microservices Architecture (9 Components)

1. Auth Service
Handles authentication and authorization using JWT (access and refresh tokens).
Implements role-based access control.
On user registration, Kafka events propagate user info to other services.
Secure token handling with token blacklisting and rotation logic.
2. User Service
Stores and manages user data (profile, KYC, settings).
Supports full CRUD operations on user entities.
Integrates with file service for KYC documents.
3. Banking Engine
Creates and manages multi-currency accounts for users (default: AED).
Handles fiat deposit (manual admin approval) and crypto transfers.
Supports withdrawals in both crypto and fiat.
4. Machine Engine (Trading Core)
Integrates with CCXT to fetch live market data and place trades.
Implements spot and futures trading, order books, and chart data.
Uses Socket.IO for real-time updates and data streams.
Multiple crypto trading pairs supported.
5. File Upload Service
Integration with AWS S3 for secure and scalable file storage.
Stores file metadata (type, name, public/private URLs).
Used for user profile images, KYC documents, etc.
6. Notification Service
Manages push, email, and SMS notifications.
Supports user-specific preferences (on/off per channel and event).
Uses Kafka topic SEND_NOTIFICATION to receive events from other services.
Sends optimized mass notifications via Firebase Cloud Messaging (FCM).
7. Frontend (React)
Developed in React.js with a real-time SPA experience.
Integrates Socket.IO for market data updates.
Provides trading interface, graphs, order books, user dashboards, etc.
8. API Gateway
Central entry point for all client requests.
Handles routing, security, and load balancing.
Applies rate limits and authentication middleware.
9. Common NPM Package (Shared Library)
A private NPM package used across all Node.js services.
Includes reusable modules:
🔐 JWT utilities (sign, verify, decode, token refresh logic)
🛠️ Helper functions (e.g., date formatting, string handling, error mapping)
📦 Custom error classes, constants, and validators
🔧 Environment and config loaders
Reduces code duplication and enforces consistency across microservices.
Like this project

Posted Aug 2, 2025

Developed a microservices-based crypto trading platform for Burency.