Case Study
Meeting Room Reservation
A full-stack progressive web app that lets teams book and manage meeting rooms — with authentication, role-based permissions and offline support.

Overview
Meeting Room Reservation is a personal full-stack project built to explore how a small internal tool — booking a meeting room — can be turned into a polished, production-style product. The frontend is a Next.js and TypeScript PWA, backed by a Java Spring Boot API and a PostgreSQL database.
The goal was to cover the full stack end-to-end: authentication and authorization, relational data modelling, a REST API, and a responsive, installable frontend that keeps working when the network doesn't.
Key Highlights
Challenges & Approach
Keeping the UI usable offline
Since the app is a PWA, I had to think carefully about what should be cached, how to communicate stale data to the user, and how to handle actions made while offline.
Modelling roles and permissions
Reservations, rooms and users needed clear ownership rules, so I designed the PostgreSQL schema and Spring Boot authorization layer so role checks stay consistent across every endpoint.