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!
Log in or sign up for Devpost to join the conversation.