Reddit Discussion · Nov 2023

Optimizing Room Booking Software Architecture: Seeking Solutions for Streamlining Operations

2 upvotes 2 replies

Discussion

I am currently developing a room booking software. The backend is implemented in Spring Boot, and the frontend is written in TypeScript. Communication between components is done through a REST API. Cu

Full Details

I am currently developing a room booking software. The backend is implemented in Spring Boot, and the frontend is written in TypeScript. Communication between components is done through a REST API. Currently, there are various endpoints, including the locations endpoints (building, room, workplace) and the booking endpoints (Single-Booking and Work Model). We refer to Single-Booking for ad-hoc bookings, while the Work Model deals with recurring bookings. When making a booking, the endpoint always expects a room ID. A challenge arises when trying to create an overview of which rooms are occupied at a specific time. Currently, I retrieve workplace data for a room in the frontend, then query the booking endpoint for current bookings, and calculate occupancy from there. However, this approach requires multiple requests and results in complex logic in the frontend. I am now considering whether to expand or modify the backend to address this. I've also received advice to handle bookings entirely through the Workplace endpoint, as booking is seen as a state and not a standalone object. However, I am still uncertain whether this is the best solution. I would appreciate suggestions on how to structure this system for optimization

About This Question

This is an interview discussion from a booking interview for a frontend role reported in 2023.

It covers the following topics: Sql, Networking .

Difficulty rating: Hard