Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

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

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages