Cinci servicii NestJS într-un monorepo Turborepo, fiecare rulând pe propriul port:
• API Gateway (3000) - Rutare, validare JWT, limitare a ratei, agregare de cereri, agregare a verificărilor de sănătate
• Auth Service (3001) - Înregistrare, autentificare, token-uri JWT, resetare parolă, strategii Passport.js
• User Service (3002) - Profiluri, preferințe, adrese; ascultă evenimentele auth.user.registered
• Product Service (3003) - Catalog, categorii, inventar; publică alerte inventory.low_stock
• Payment Service (3004) - Comenzi, plăți, rambursări; menține un cache local denormalizat al produselor din evenimente
Toată comunicarea între servicii trece printr-un RabbitMQ topic exchange (microservices.events). Evenimentele urmează convenția de denumire {serviciu}.{entitate}.{acțiune}. Pachetele partajate asigură că publicatorul și consumatorul sunt mereu de acord asupra string-urilor de routing key.
Infrastructură: Docker Compose pentru dezvoltare locală (PostgreSQL, Redis, RabbitMQ, Adminer), manifeste Kubernetes pentru deployment în producție cu probe de readiness/liveness.