Skip to content
VS
All work
07 /

EcoTravel

Five independent services behind one gateway.

Kind
personal project
Domain
PLATFORMS
EcoTravel
Screenshot pending

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

  1. Client
  2. API Gateway
  3. Reservations
  4. 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