Office Hours Booking Platform

Student booking page with open office-hour slots
Instructor dashboard with upcoming appointments
Student view of booked appointments
Sign-in page with demo accounts

Project information

  • Category: Web App
  • Name: Office Hours Booking Platform
  • Project date: May, 2025
  • Github: View on GitHub
  • Live site: Live demo (demo logins on the sign-in page)

Project Overview

I created the Office Hours Booking Platform, a full-stack web application designed to streamline academic scheduling between students and instructors. Built with React and Node.js/Express, the platform supports three distinct roles — students, instructors, and admins — each with a tailored experience for managing office hour appointments.

Tech Stack & Platform

  • Frontend: React 18, React Router 6, Axios, Lucide React
  • Backend: Node.js 18+, Express.js 4
  • Database: PostgreSQL 15
  • Auth: JWT, bcryptjs
  • Email: Resend
  • Hosting: Vercel (React frontend + Express API as a serverless function), Neon Postgres

Core Functionality

Students can browse availability, book appointments, and join a waitlist for fully-booked slots with automatic notifications when a spot opens. Instructors can create individual or recurring weekly office hours, configure slot durations, and manage their full schedule. Admins can provision users, manage accounts, and access system-wide audit logs. The platform includes email confirmations, 24-hour and 1-hour reminders, dark mode, JWT-based role access control, and .ics calendar file downloads.

Tutu