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!