All projectsGET /projects/hotel-and-room-search

Hotel and room search

Filtering hotels and rooms by location, rating, price range and availability.

Type
Work
Role
Backend developer, Search Service
Status
Shipped
When
2023 to present
  • Java 17
  • Spring Boot
  • Spring Data JPA
  • JPA Criteria
  • MySQL
  • native SQL

Problem

Guests combine many filters at once, and the queries had to stay readable and fast.

Approach

  1. Dynamic filters built with JPA Criteria.
  2. Native SQL for the heavier queries.
  3. Availability taken from the inventory data.
diagram: hotel-and-room-search

Architecture

Architecture map5 components · 4 connections
84%
client Angular client service API Gateway service Search Service service Room Inventory database MySQL HTTPSfiltersavailabilityCriteria, SQL

Fit shows the whole map. Zoom in, then drag or scroll to explore.

Connections

  • Angular client to API GatewayHTTPS
  • API Gateway to Search Servicefilters
  • Search Service to Room Inventoryavailability
  • Search Service to MySQLCriteria, SQL