The Automated Bus Scheduling and Route Management System is designed to enhance the efficiency of bus scheduling and route planning for the Delhi Transport Corporation (DTC). By leveraging advanced algorithms, data analytics, and Geographic Information System (GIS) technologies, the system automates key aspects of bus operations, reducing manual effort, errors, and improving service reliability.
- Assigns a specific crew to a bus at the start of their duty.
- Ensures crew remains with the bus throughout their shift.
- Manages and monitors crew and bus assignments for improved familiarity and accountability.
- Allows crews to hand over buses to other crew members after completing trips.
- Manages crew rest periods and reassigns them to buses after their rest.
- Maps all existing routes and provides a visual representation of the bus network.
- Enables the creation of new routes while highlighting overlaps with existing routes.
- Optimizes route planning to reduce congestion and enhance service coverage.
-
Clone the repository:
git clone https://github.com/yourusername/bus-scheduling-system.git
-
Navigate to the project directory:
cd bus-scheduling-system
-
Install dependencies:
mvn install
-
Set up the database:
- Configure your database settings in
application.properties
. - Run the database migrations.
mvn flyway:migrate
- Configure your database settings in
-
Build and run the application:
mvn spring-boot:run
-
Access the system via a web browser:
- Visit
http://localhost:8080
to use the system's interface.
- Visit
-
Managing Schedules:
- Use the Scheduling module to assign linked or unlinked duties to bus crews.
-
Managing Routes:
- Use the Route Management module to visualize, create, and optimize bus routes.
-
Accessing Reports:
- Generate and view real-time reports on bus schedules and route efficiency.
- Java (Spring Boot Framework)
- MySQL (Database)
- Thymeleaf (Template Engine)
- GIS (Geographic Information System)
- Maven (Dependency Management)
- Fork the repository.
- Create your feature branch:
git checkout -b feature-name
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature-name
. - Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please contact Mukesh Pal at [email protected].