Projet pluridisciplinaire · Chef d’équipe
Caremate
Plateforme microservices
- Node.js / NestJS
- TypeScript
- API REST
- Next.js
- RabbitMQ
- Socket.IO
- MongoDB
- Docker
- Kubernetes (GKE)
- CI/CD
Le projet
Caremate met en relation des parents d’enfants autistes avec des auxiliaires de vie scolaire qualifiés : recherche géolocalisée et filtrée, messagerie, réservation, notifications. J’ai dirigé l’équipe et conçu l’architecture, dans le cadre d’un projet pluridisciplinaire en école d’ingénieur.
L’architecture
Le domaine est découpé en services autonomes, chacun avec sa base. Un API Gateway centralise l’entrée et l’authentification, un registre de services (Eureka) évite de coder en dur les adresses, et RabbitMQ porte les échanges asynchrones.
Eureka
(enregistrement automatique)
L’architecture du projet. RabbitMQ découple complètement les notifications : ms-booking publie un événement sans savoir qui l’écoute.
Les services que j’ai conçus et développés
- Authentification & profils : comptes, rôles (parent / auxiliaire), contrôle d’accès basé sur les rôles.
- Recherche & filtrage : par localisation, compétences, expérience, disponibilité.
- Communication : messagerie temps réel (Socket.IO).
- Réservation : créneaux et gestion des conflits d’agenda.
- Notifications : abonné aux événements RabbitMQ, découplé du reste.
Le produit




Le déploiement
Chaque push déclenche la construction des images Docker, puis une release qui progresse de dev à prod sur Google Kubernetes Engine, la mise en production restant conditionnée à une approbation manuelle.
Pipeline Cloud Build vers Cloud Deploy, promotion progressive entre environnements.
Ce que j’en retiens
Avec du recul. Les microservices étaient, honnêtement, plus lourds que ce que le produit exigeait. C’était un projet d’école, et l’objectif était d’affronter ces problèmes pour de vrai.
C’est justement ce qui m’a appris à évaluer le coût d’une architecture avant de la choisir, et à préférer la solution la plus simple qui tienne la charge.
Technologies
- Node.js
- NestJS
- TypeScript
- Next.js
- RabbitMQ
- Socket.IO
- MongoDB
- Spring Boot
- Docker
- Kubernetes (GKE)
- Cloud Build
- CI/CD