Lecture Scheduler

Inspiration

Managing lecture timetables is often chaotic—spreadsheet conflicts, room booking issues, and last-minute changes. We aimed to create an intuitive scheduling tool that integrates a 3D building model with a timetable interface, inspired by architectural visualization and modern scheduling apps.

Features

Lecture Scheduler is a web-based application that simplifies lecture planning with:

  • 3D Interactive Model: Explore floors and rooms, assign lectures manually or via an auto-scheduling algorithm.
  • Dynamic Timetable: View and edit lectures in a grid with real-time updates to the 3D model.
  • Visual Enhancements: Color-coded room occupancy and animated paths for lecture sequences.
  • PDF Export & Reset: Download schedules and clear all data instantly.

Tech Stack

  • Three.js for the 3D model
  • HTML/CSS/JavaScript for the UI
  • jsPDF & autoTable for PDF export

Challenges & Solutions

  • Rendering Issues: Debugged Three.js lighting errors causing a white screen.
  • UI Evolution: Transitioned from a card-based view to an interactive timetable grid.
  • Room Scheduling: Developed conflict detection to prevent double-bookings.
  • Performance: Optimized rendering to reduce lag.
  • Learning Curve: Learnt Three.js and integrated external libraries efficiently.

Achievements

  • Seamless 3D-UI Integration
  • Interactive, Clear Timetable Grid
  • Efficient PDF Export & Reset Functions
  • Robust Bug Fixing & UI Refinements

Key Learnings

  • UI design balancing aesthetics & usability
  • Debugging complex visual & data-driven interactions
  • User-focused iterative development
  • Integrating 3D visualization with practical scheduling tools

Future Plans

  • Time Slots: Real-world lecture times instead of generic numbers
  • Database Integration: Persistent storage with Firebase
  • Collaboration: Multi-user scheduling
  • Mobile Optimization: Improved UX for smaller screens
  • Analytics: Insights on room utilization & conflicts

Lecture Scheduler merges visualization with functionality, making timetable management more efficient and engaging. We’re excited to expand its capabilities!

Share this project:

Updates