Yann Villellas
HomeAboutProjectsContact
HomeAboutProjectsContact
Back

Car Rental Platform

Distributed microservices system with transactional consistency via Kafka and the Outbox pattern. Built with Spring Boot, React, and Keycloak.

Fleet management interface
Staff booking overview
Customer reservation dashboard

Fleet management interface

Fleet management interface

This distributed car rental platform was built as an engineering project applying test-driven development to a microservices architecture. The system handles fleet management, reservations, and payment processing with transactional consistency across services.

Backend services were developed with Spring Boot and PostgreSQL, validated through JUnit and ephemeral Testcontainers environments. The payment module integrates PayPal through a resilient pipeline using Kafka for event streaming, change data capture for database synchronization, and the Outbox pattern to ensure exactly-once processing semantics across service boundaries. Security is centralized through Keycloak with OAuth 2.0 and OIDC, with dynamic request routing handled by Spring Cloud Gateway. The user interface was built with React.

The test suite runs end to end, covering the payment pipeline across service boundaries and catching regressions before they reach deployment. This project taught me a lot about distributed consistency and testing at scale.

Spring BootJavaReactKafkaKeycloakPostgreSQL

© 2026 Yann Villellas. All rights reserved.