Skip to content

Arjun7039/SmartTimetable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📅 Smart Timetable Generator

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.

Final Timetable Preview

Smart Timetable Banner Tech Stack

🏗️ Project Structure

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.

✨ Key Features

  • 🤖 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.

🛠️ Technology Stack

Frontend

  • React 18 (Vite-powered)
  • Tailwind CSS (Glassmorphism effects)
  • Framer Motion (Production-grade animations)
  • Lucide React (Iconography)
  • Axios (API communication)

Backend

  • Django & DRF (Scalable RESTful API)
  • MongoEngine (Document-Object Mapper for MongoDB)
  • ReportLab (Dynamic PDF generation)
  • CORS Headers (Secure cross-origin communication)

Database

  • MongoDB (Flexible NoSQL storage)

📸 Interface Preview

Step 1: Departments Step 2: Semesters
Departments Semesters
Step 3: Theory Subjects Step 4: Lab Subjects
Subjects Labs
Step 5: Final Result
Final Timetable

🚀 Getting Started

Prerequisites

  • Node.js (v20+)
  • Python (v3.10+)
  • MongoDB (Running locally on port 27017)

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the server:
    python manage.py runserver

Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Run the development server:
    npm run dev

🧠 The Algorithm

The generator uses a custom-built iterative allocation strategy:

  1. Lab Prioritization: Allocates multi-hour lab sessions first to ensure consecutive slots.
  2. Balancing Pass: Distributes theory subjects day-by-day to maintain a target maximum class count per day.
  3. Conflict Prevention: Checks for adjacent duplicate subjects and ensures breaks remain sacred.

Built with ❤️ by Arjun

About

"A modern, enterprise-grade Academic Timetable Generator built with React, Django, and MongoDB. Features intelligent scheduling balancing, persistent data retrieval, and professional PDF exports with a stunning Glassmorphism UI."

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors