Skip to content

Mohak1809/Smart-India-Hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

168 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚌 ScheduLine – Smart Bus Assignment System (Smart India Hackathon Project)

Welcome to ScheduLine, a smart crew scheduling solution developed for the Smart India Hackathon (SIH). This system revolutionizes public transportation logistics by automating the assignment of buses, drivers, and conductors based on real-world constraints like distance, preferences, and shift timings.


🚀 Problem Statement

Public transportation systems often face scheduling chaos due to last-minute staff assignments and inefficient route allocation. Our solution tackles this by:

  • Optimizing crew allocation
  • Incorporating driver preferences
  • Reducing commute distance to starting point
  • Allowing rest intervals between routes

🧠 Solution Overview

ScheduLine is a web-based platform that:

  • Takes in routes, timings, and staff profiles
  • Assigns drivers and conductors to buses in a way that minimizes logistical inefficiencies
  • Uses distance calculation via Google Maps API and driver time preferences for optimal assignment
  • Enables multi-route assignment with intelligent rest period planning

🔧 Tech Stack

Layer Tech Used
Frontend HTML · CSS · JavaScript · React
Backend/Logic Python · Custom Matching Algorithms
APIs Google Maps API
Database MONGOdb

Features

  • AI-Driven Scheduling: Assigns buses and crew using ML models and optimization logic.
  • Real-Time Monitoring: Visualizes bus routes and crew assignments on interactive maps.
  • Crew & Leave Management: Allows crew to request leave and managers to approve/reject.
  • Bus & Route Management: Add, edit, and view buses and routes with detailed info.
  • Automated Data Processing: Scripts for generating, assigning, and updating bus/crew data.
  • Modern UI: Built with React, Tailwind CSS, and Vite for a responsive experience.
  • RESTful API: Node.js/Express backend with MongoDB for persistent storage.

Repository Structure

Backend/    # Node.js/Express backend, MongoDB models, controllers, routes, AI integration
Frontend/   # React frontend, Tailwind CSS, Vite, all UI components
Extraset/   # Data generation scripts, assignment logic (Python/JS), mock/test data
output.csv  # Example output data

Key Modules

Backend (Backend/)

Frontend (Frontend/)

Data & Scripts (Extraset/)


Getting Started

Prerequisites

  • Node.js, npm
  • Python 3.x (for AI/data scripts)
  • MongoDB (local or Atlas)

Backend Setup

cd Backend
npm install
cp .env.sample .env   # Set your MongoDB URI and secrets
npm start

Frontend Setup

cd Frontend
npm install
npm run dev

Data & AI Scripts


API Endpoints

  • Auth: /api/auth/register, /api/auth/login
  • Dashboard: /api/auth/dashboard-manager, /api/auth/dashboard-crew/:id
  • Bus Data: /api/auth/bus-data/, /api/auth/add-bus
  • Leave: /api/leave/leave-request, /api/leave/leave-requests, /api/leave/leave-status/:id

Technologies Used

  • Frontend: React, Tailwind CSS, Vite, Axios, Leaflet.js
  • Backend: Node.js, Express, MongoDB, Mongoose, JWT
  • AI/Data: Python (pandas, scikit-learn, geopy, faker), JavaScript (Node scripts)

Contributors


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors