ExtraMiles — Loyalty Microservices Backend
Backend (NestJS Microservices)
About
Distributed microservices backend powering the ExtraMiles loyalty ecosystem — 5 independent NestJS services handling API gateways, core business logic, customer management, and user authentication with MongoDB, Redis queues, and real-time WebSocket channels.
My Role
Architected and built the full microservices platform: backoffice API gateway, client API gateway, core business logic service, customer service, and user authentication service — all with MongoDB persistence, Bull job queues, Firebase push notifications, and AWS S3 asset management.
Core Capabilities
- 5 independent NestJS microservices with clean separation
- Dual API gateways: backoffice (admin) and client (consumer)
- Core service with partner catalogues, discounts, and notifications
- Customer service for loyalty workflows, mileage, and complaints
- User service with role-based access and authentication
- Bull/Redis job queues for async processing
Architecture
- NestJS microservice framework with TCP transport
- MongoDB with Mongoose and pagination plugins
- Redis-backed Bull queues for async workloads
- Firebase Admin SDK for push notifications
- AWS S3 for asset pipelines, Nodemailer for transactional email
- Socket.IO for real-time event channels