Smart Timetable is a high-performance, enterprise-grade scheduling application built to automate the complex task of academic planning. Featuring a stunning Glassmorphism UI and an intelligent balancing algorithm, it transforms hours of manual work into a single click.
The project is divided into two main components:
/frontend: React application built with Vite and Tailwind CSS./backend: Django REST Framework API with MongoDB integration.
- 🤖 Intelligent Scheduling: Advanced balancing logic that prevents class overcrowding and ensures an even distribution across the 5-day week.
- 💾 Persistent Data Retrieval: Automatically remembers previously entered subjects for any Branch/Semester combination.
- 🎨 Premium UI/UX: A state-of-the-art interface featuring smooth transitions and a vibrant dark mode.
- 📄 Professional PDF Export: Generate high-quality, landscape-oriented PDF timetables.
- ⚙️ Branch Management: Full CRUD capabilities to manage departments and semesters dynamically.
- ☕ Optimized Breaks: Built-in logic for short breaks and lunch periods.
- React 18 (Vite-powered)
- Tailwind CSS (Glassmorphism effects)
- Framer Motion (Production-grade animations)
- Lucide React (Iconography)
- Axios (API communication)
- Django & DRF (Scalable RESTful API)
- MongoEngine (Document-Object Mapper for MongoDB)
- ReportLab (Dynamic PDF generation)
- CORS Headers (Secure cross-origin communication)
- MongoDB (Flexible NoSQL storage)
| Step 1: Departments | Step 2: Semesters |
|---|---|
![]() |
![]() |
| Step 3: Theory Subjects | Step 4: Lab Subjects |
|---|---|
![]() |
![]() |
| Step 5: Final Result |
|---|
![]() |
- Node.js (v20+)
- Python (v3.10+)
- MongoDB (Running locally on port 27017)
- Navigate to the
backenddirectory:cd backend - Install dependencies:
pip install -r requirements.txt
- Run the server:
python manage.py runserver
- Navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install
- Run the development server:
npm run dev
The generator uses a custom-built iterative allocation strategy:
- Lab Prioritization: Allocates multi-hour lab sessions first to ensure consecutive slots.
- Balancing Pass: Distributes theory subjects day-by-day to maintain a target maximum class count per day.
- Conflict Prevention: Checks for adjacent duplicate subjects and ensures breaks remain sacred.
Built with ❤️ by Arjun




