An open API service indexing awesome lists of open source software.

https://github.com/ddubeyyy/smartbustracker

Smart Bus Tracking Web App using Java, JSP/Servlets, and MySQL with role-based login for Admin, Driver & Student. Supports bus & route management, simulated tracking, and is fully Dockerized with a Jenkins CI/CD pipeline for automated deployment.
https://github.com/ddubeyyy/smartbustracker

docker dockerfile github-actions java jdbc jenkins maven mysql spring-boot tomcat

Last synced: 5 months ago
JSON representation

Smart Bus Tracking Web App using Java, JSP/Servlets, and MySQL with role-based login for Admin, Driver & Student. Supports bus & route management, simulated tracking, and is fully Dockerized with a Jenkins CI/CD pipeline for automated deployment.

Awesome Lists containing this project

README

          

# 🚍 Smart Bus Tracking Web App

A web-based Smart Bus Tracking System that helps **students**, **drivers**, and **administrators** track and manage buses in real time. This project aims to increase safety, convenience, and operational efficiency in educational or private transportation systems.

---

## ✨ Key Highlights

- πŸ”’ Role-based login for Admin, Student, and Driver
- 🚌 Add/edit buses, drivers, and routes
- πŸ“ Track bus status and route
- πŸ‘¨β€πŸ« Admin dashboard to monitor everything
- πŸ“¦ CI/CD pipeline with Jenkins & Docker
- 🌐 Fully deployable using Apache Tomcat

---

## πŸ”§ Tech Stack

| Layer | Technologies |
|--------------|---------------------------------------------|
| Frontend | HTML, CSS, JSP, JavaScript |
| Backend | Java (Servlets & JSP), JDBC, MySQL |
| Server | Apache Tomcat 9 |
| DevOps | Jenkins, Docker, Git, GitHub |
| Build Tool | Maven |

---

## 🧩 Modules & Features

### πŸ” Authentication
- βœ… Login and Registration for **Student**, **Driver**, and **Admin**
- βœ… Password validation and session handling
- βœ… Role-based redirects
Login Page


Login Page

Register Page


Login Page

### πŸ‘¨β€πŸ« Admin Panel
- 🚌 Add, update, delete buses
- πŸ‘¨β€βœˆοΈ Manage drivers and assign buses
- πŸ—ΊοΈ Create and assign routes (source, stops, destination)
- 🧾 View all users, buses, drivers, and routes
- πŸ“Š Generate reports of daily usage


Login Page

### πŸŽ“ Student Panel
- πŸ‘οΈ View assigned bus and its current location
- πŸ—ΊοΈ See route map (static or simulated)
- πŸ” Update profile and contact info


Login Page

### πŸ‘¨β€βœˆοΈ Driver Panel
- 🚌 View assigned bus and route details
- βœ… Mark trip as "Started" or "Completed"
- 🧭 Option to update simulated location/status (for now)


Login Page

---

## πŸ—„οΈ Database Schema (MySQL)

### `users`
| Field | Type | Description |
|-----------|----------|----------------------------------|
| id | INT | Primary Key |
| name | VARCHAR | Full name |
| email | VARCHAR | Unique email address |
| password | VARCHAR | Encrypted password |
| role | ENUM | 'admin', 'student', 'driver' |
| address | TEXT | Address (optional) |

### `buses`
| Field | Type | Description |
|-------------|----------|-------------------------------|
| id | INT | Primary Key |
| bus_number | VARCHAR | Unique Bus Number |
| driver_id | INT | Linked to `users.id` |
| route_id | INT | Linked to `routes.id` |

### `routes`
| Field | Type | Description |
|-------------|----------|-------------------------------|
| id | INT | Primary Key |
| source | VARCHAR | Starting point |
| destination | VARCHAR | Endpoint |
| stops | TEXT | Intermediate stop points |

---

## πŸ“‚ Project Structure

```plaintext
SmartBusTracker/
β”œβ”€β”€ src/
β”‚ └── main/
β”‚ β”œβ”€β”€ java/
β”‚ β”‚ └── servlets/ # Login, Register, Dashboard, Controllers
β”‚ └── webapp/
β”‚ β”œβ”€β”€ WEB-INF/
β”‚ β”‚ └── web.xml # Servlet mapping
β”‚ β”œβ”€β”€ jsp/
β”‚ β”‚ β”œβ”€β”€ login.jsp
β”‚ β”‚ β”œβ”€β”€ register.jsp
β”‚ β”‚ β”œβ”€β”€ admin-dashboard.jsp
β”‚ β”‚ β”œβ”€β”€ student-dashboard.jsp
β”‚ β”‚ └── driver-dashboard.jsp
β”‚ └── assets/ # CSS, JS, images
β”œβ”€β”€ pom.xml
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ Jenkinsfile
└── README.md