Máté Horváth

Frontend Engineer · React · TypeScript

Back to projects

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.

RoleSolo full-stack developer
ReactTypeScriptNext.jsSpring BootPostgreSQL
Meeting Room Reservation

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

Authentication and role-based access, so admins and regular users see different capabilities
Installable PWA with offline support, so bookings can still be viewed without a connection
A Spring Boot REST API backed by PostgreSQL for persistent, relational data
Responsive booking UI built with Next.js, TypeScript and React

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.

Meeting Room Reservation | Máté Horváth | Máté Horváth