Back to work
WebsiteJavaScript · Web app· 2026

UDM Room & Equipment Booking

One place for Universidad de Manila students and faculty to reserve rooms and borrow equipment.

Visit the live site

The build

Reserving rooms and equipment at the university used to happen through chat threads and paper, so nobody could see what was free or be sure a booking was confirmed. This web app lets students and faculty sign in, browse rooms and equipment, check a day-by-day availability grid, and submit a request. Every request is checked against the booking rules: no double bookings, students limited to 3-hour bookings that need approval, faculty up to 8 hours and auto-approved. Each booking can be viewed, cancelled and printed as a booking slip. It was designed with object-oriented principles (Rooms and Equipment extend an abstract Resource, Students and Faculty extend an abstract User) and shipped in two forms: a Java version with its own web server, and this browser-only JavaScript version.

Highlights

  • Availability grid per room and equipment, 30-minute steps, 7 AM to 9 PM
  • Role-based rules: student vs faculty limits, approval and auto-approval
  • Double-booking prevention and quantity tracking for equipment
  • Printable booking slips and a demo-data reset for reviewers

Flow

Sign in→
Browse→
Pick slot→
Rules check→
Booking slip

Outcome

The client confirmed the system works and would be a good inclusion for the school, and asked for a Power Automate version that fits the existing UDM portal, which was also delivered.

Role

Lead developer, team of four

Stack

JavaScript (ES modules)OOP designJavaHTML/CSSNetlifyPower Automate
UDM Room & Equipment Booking screenshot 1
UDM Room & Equipment Booking screenshot 2
UDM Room & Equipment Booking screenshot 3
UDM Room & Equipment Booking screenshot 4
UDM Room & Equipment Booking screenshot 5
Next buildVapeHub