Virtual Room Reservation Assistant (VRRA)
A mimic of online reservation system to multi-users use. Integrated with Google Authentication API and Google Calander API. This is the final project of Software Engineering CS3025.



We integrated various GCP-based APIs into our service. During login, users are prompted with Google authentication (left) for easy access. When an event is created, updated or deleted, all users involved in the process receive notifications via Gmail API (mid). Additionally, events are automatically updated on the calendar using Google Calendar API (right).
The project was managed by React + Redux framework for the frontend, GoLang and GORM to interchange information to our MySQL database. During each request, a Jason Web Token was involved to check the user validality.


The main selection page of the VRRA system. Each slot is indicated by color, and users can navigate to them by clicking on available slots (left). Inside each section, users provide the detailed information of the participant and other relevant information (right), which will be presented in the invitation letter sent via Gmail API.
This project follows a strict concept of software engineering principle, here we provide our software modeling and package documentation.

Software Architecture Diagram illustrating the Model-View-Controller (MVC) pattern with modular package organization. The Model component contains database services and business logic, the Controller handles routing and middleware operations, and the View manages the presentation layer through a router/controller interface. Arrows indicate the data flow and component interactions within the system.

Package Dependencies and Architecture Overview.