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