Back to projects
Featured Project
Featured Project
Hotel Reservation Platform
Hotel reservation platform integrating a modern guest booking experience with an admin dashboard for real-time hotel management.

What It Does
- • Public guest website for searching availability and creating reservations.
- • Admin portal for reception and operations teams.
- • Manages arrivals, in-house stays, departures, and forward bookings.
- • Single backend securely serving multiple clients.
System Design
Single Spring Boot backend exposes /api/public/** for guest bookings and/api/admin/** for secured admin operations. Requests pass through controllers → services → domain logic → persistence.
- • JWT + role-based access (Admin / Receptionist).
- • Stateless services designed for horizontal scaling.
- • Admin portal calls use JWT while the public site hits
/api/public/bookings; services coordinate Postgres, cache, and notifications.
Booking Flow
- Validate stay dates against availability.
- Generate booking reference + pricing summary.
- Persist booking in PostgreSQL (transactional).
- Emit BOOKING_CREATED event.
- Notify staff/guest via email or SMS.
- Return structured response to client.
Domain Decisions
- • LocalDate for stays to avoid timezone or DST bugs.
- • Explicit booking lifecycle states.
- • Database constraints + indices to guard correctness and performance.
Performance & Reliability
- • Operational views optimized for Arrivals / In-House / Departures.
- • Cache-ready architecture (Caffeine/Redis) for hot lookups.
- • Flyway migrations for safe schema evolution.
- • Strong transactional boundaries on booking creation.
Security
- • JWT authentication on admin endpoints.
- • Role-based authorization separating Admin vs Reception.
- • Public endpoints isolated from admin APIs.
- • Validation enforced at API and domain layers.