Horváth Máté

Frontend Fejlesztő · React · TypeScript

Vissza a projektekhez

Esettanulmány

Meeting Room Reservation

Egy full-stack progresszív webalkalmazás (PWA), amellyel csapatok foglalhatnak és kezelhetnek tárgyalókat — hitelesítéssel, szerepkör-alapú jogosultságokkal és offline támogatással.

SzerepÖnálló full-stack fejlesztő
ReactTypeScriptNext.jsSpring BootPostgreSQL
Meeting Room Reservation

Áttekintés

A Meeting Room Reservation egy saját full-stack projekt, amelyben azt jártam körül, hogyan lehet egy egyszerű belső eszközből — tárgyaló foglalásból — igényes, éles termékre hasonlító alkalmazást építeni. A frontend egy Next.js és TypeScript alapú PWA, mögötte egy Java Spring Boot API és PostgreSQL adatbázis áll.

A cél az volt, hogy a teljes stacket lefedjem: hitelesítés és jogosultságkezelés, relációs adatmodellezés, REST API, valamint egy reszponzív, telepíthető frontend, amely akkor is működik, ha épp nincs internetkapcsolat.

Legfontosabb Funkciók

Hitelesítés és szerepkör-alapú hozzáférés, így az adminok és a sima felhasználók más-más funkciókat látnak
Telepíthető PWA offline támogatással, így a foglalások kapcsolat nélkül is megtekinthetők
Spring Boot REST API PostgreSQL adatbázissal a tartós, relációs adatokhoz
Reszponzív foglalási felület Next.js, TypeScript és React segítségével

Kihívások és Megoldások

A felület használhatóvá tétele offline módban

Mivel az alkalmazás egy PWA, alaposan végig kellett gondolnom, mit érdemes gyorsítótárazni, hogyan jelezzem a felhasználónak az elavult adatokat, és hogyan kezeljem az offline állapotban végzett műveleteket.

Szerepkörök és jogosultságok modellezése

A foglalásoknak, termeknek és felhasználóknak egyértelmű tulajdonlási szabályokra volt szükségük, ezért úgy alakítottam ki a PostgreSQL sémát és a Spring Boot jogosultsági réteget, hogy a szerepkör-ellenőrzés minden végponton konzisztens maradjon.

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