EcoTravel
Five independent services behind one gateway.
- Kind
- personal project
- Domain
- PLATFORMS
Optional. Swagger UI for one service, or a screenshot of the running gateway. The section leads with a diagram, so media here is supporting only.
/projects/ecotravel/swagger.png
Overview
A microservices platform split along business boundaries rather than technical layers: authentication, accommodation, reservations, finance and maintenance each run as an independent Spring Boot service.
A Spring Cloud Gateway fronts the system so clients see one address, a Config Server holds configuration centrally instead of per-service, and inter-service calls go through OpenFeign with Resilience4j guarding the paths that can fail.
Reservation path
- Client
- API Gateway
- Reservations
- Finance
Technical challenge
Once a booking spans accommodation, reservations and finance, the failure modes get more interesting than the happy path. The work here was about what happens when a downstream service is slow or unavailable, and keeping each service independently testable.
What it does
- 01Independent services for authentication, accommodation, reservations, finance and maintenance
- 02Centralized API gateway via Spring Cloud Gateway
- 03Centralized configuration via Config Server
- 04Declarative inter-service calls with OpenFeign
- 05Resilience4j on cross-service paths
- 06Unit, integration and end-to-end test suites
- 07REST APIs documented with Swagger
Technologies
- Services
Java 21
Spring Boot
REST
- Platform
Spring Cloud Gateway
Config Server
OpenFeign
Resilience4j
- Data
MySQL
H2
- Quality
Unit tests
Integration tests
End-to-end tests
Swagger