HRS — Hotel Reservation System

A hotel booking web app where guests handle everything from reservation to check-out themselves, built from UML analysis and design through implementation.

to 2026

HRS home screen with a hotel photo, buttons to find a room and check a reservation, and steps for booking, check-in, and check-out below.

Overview

HRS is a hotel reservation system built as part of a university course.

Three of us worked on it for three weeks, and what the exercise was really asking was “object-oriented analysis and design in UML, and whether the result can be implemented exactly as designed”.

Features

Feature Description
Reservation Book by entering dates, room, and guest details
Lookup Retrieve a reservation by number and lead guest name
Cancellation Cancel a reservation by number and lead guest name
Check-in Verify the reservation and assign a room
Check-out Confirm charges and payment method, then complete the stay
Email Sent on booking, cancellation, the day before arrival, and at check-out

The day-before reminder runs as a Vercel Cron Job every day at 9 JST.

Stack

The application is TypeScript on Next.js App Router and React, with Route Handlers for the API, Prisma for data access, and PostgreSQL (Neon or Docker) as the database. Email goes through Resend, tests run on Vitest, and deployment is Vercel plus Neon.

What I worked on

The question I spent the most time on was how to keep the implementation from drifting away from the design. The responsibilities settled in the class and sequence diagrams became the module boundaries directly, and the rules that matter to the specification — such as matching a reservation by number and guest name — are pinned down by tests.

Stack

TypeScript · Next.js · React · Prisma · PostgreSQL · Vitest · Vercel · UML

Reactions

Comments

    Open original