Skip to content

Automated timetable generation and management system built with React 19, Node.js (Express), MongoDB, and Docker.

License

Notifications You must be signed in to change notification settings

SAYOUNCDR/auto-timetable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Timetable Management & Generation - Quick Docs

Node.js Express MongoDB React Vite npm

Landing page

image

Admin View

LogTime AdminDashboard Datamanagement Generator Timet

Faculty View

image

Student View

image

πŸ“š Documentation

Project Visual Guide

Visualize in MapMyRepo

For detailed API usage, testing workflows, and data insertion guides, please refer to the API Documentation.

Quick Links


🎯 Project Overview

The TimeTable Management & Generation System is a sophisticated full-stack application designed to automate the complex process of academic scheduling. By leveraging AI-powered constraint programming (Google OR-Tools), it generates conflict-free timetables that respect resource availability, faculty constraints, and curriculum requirements.

Key Features

  • Automated Scheduling: AI-driven generation of conflict-free timetables.
  • Role-Based Access: Distinct portals for Admins, Faculty, and Students.
  • Resource Management: Comprehensive management of Classrooms, Labs, Subjects, and Batches.
  • Constraint Handling: Respects faculty unavailability, room capacities, and load limits.
  • Modern UI/UX: Responsive React frontend with intuitive dashboards.

πŸ›  Tech Stack

Component Technology Description
Frontend React 19, Vite, Tailwind CSS Fast, responsive user interface
Backend Node.js, Express 5 RESTful API architecture
Database MongoDB, Mongoose Flexible document storage
AI Engine Python, FastAPI, Google OR-Tools Constraint satisfaction solver
Auth JWT, bcrypt Secure authentication & authorization

πŸ— Architecture

The system follows a microservices-inspired architecture:

  1. Client Layer: React SPA interacting with the Backend API.
  2. API Layer: Express.js server handling business logic, auth, and data persistence.
  3. Scheduler Service: Python FastAPI service dedicated to heavy computational scheduling tasks.
  4. Data Layer: MongoDB storing all institutional data and generated schedules.

πŸš€ Installation & Setup Guide

Prerequisites

  • Node.js (v16+)
  • Python (v3.8+)
  • MongoDB (Local or Atlas)

1. Backend Setup

cd backend
npm install

# Configure Environment
# Create .env file with:
# PORT=5000
# MONGO_URI=your_mongodb_connection_string
# JWT_SECRET=your_secret_key
# SCHEDULER_URL=http://localhost:8000

npm start

2. Scheduler Core Setup

cd scheduler_core
python -m venv venv
# Windows: venv\Scripts\activate
# Mac/Linux: source venv/bin/activate

pip install -r requirements.txt
uvicorn main:app --reload --port 8000

3. Frontend Setup

cd frontend
npm install
npm run dev

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •