Plateforme de location de véhicules
Système distribué en microservices avec cohérence transactionnelle via Kafka et le pattern Outbox. Développé avec Spring Boot, React et Keycloak.



Interface de gestion de flotte
Interface de gestion de flotte
Cette plateforme de location de véhicules a été conçue comme un projet d’ingénierie appliquant le développement piloté par les tests à une architecture microservices. Le système gère la gestion de flotte, les réservations et le traitement des paiements avec une cohérence transactionnelle entre services.
Les services backend ont été développés avec Spring Boot et PostgreSQL, validés via JUnit et des environnements éphémères Testcontainers. Le module de paiement intègre PayPal via un pipeline résilient utilisant Kafka pour le streaming d’événements, le CDC pour la synchronisation des bases de données et le pattern Outbox pour garantir une sémantique de traitement exactly-once entre les services. La sécurité est centralisée avec Keycloak (OAuth 2.0, OIDC) et le routage dynamique est assuré par Spring Cloud Gateway. L’interface utilisateur a été construite avec React.
La suite de tests couvre le pipeline de paiement de bout en bout, à travers les frontières des services, et détecte les régressions avant déploiement. Ce projet m’a beaucoup appris sur la cohérence distribuée et les tests à grande échelle.