A real-time bus tracking and management system designed to improve daily commuting by providing transparency, security, and convenience.
Inspired by ride-hailing apps like Uber, but built to be lightweight and affordable, WIMB bridges the gap between public transportation and smart mobility solutions.
- Students and daily commuters often face uncertainty about bus schedules and delays.
- Drivers and contractors rely on manual attendance and bus assignment processes, causing inefficiencies.
- No centralized system exists to track buses, manage routes, and provide live location updates.
- β Provide real-time bus tracking with GPS.
- β Ensure secure driver authentication before trips.
- β Enable admins to manage buses, drivers, and routes seamlessly.
- β Allow passengers to view live bus locations & ETA.
- β Deliver a low-cost, efficient alternative to expensive fleet management tools.
- Secure login for drivers & contractors (via unique IDs / QR codes).
- JWT-based token system for secure API access.
- Register buses with details (bus number, capacity, etc.).
- Define routes (start, end, and intermediate stops).
- Assign drivers β buses β routes.
- GPS-enabled driver app shares location.
- Backend broadcasts location via Socket.IO.
- Passengers see live updates + historical route data (optional).
- Mobile App (Android)
- Driver: GPS location sharing
- Passenger: Bus tracking
- Web App
- Admins & Students monitor buses in real time.
- Modern UI/UX using React & React Native/Flutter.
- QR code scanning for easy driver assignment.
- Push notifications (bus departure, arrival alerts).
- Attendance tracking for students.
- Data analytics: punctuality & bus usage reports.
| Component | Technology |
|---|---|
| Frontend (Web) | React.js, Tailwind CSS / Material UI |
| Mobile App | React Native / Flutter |
| Backend | Node.js, Express.js |
| Database | MongoDB (Mongoose ODM) |
| Authentication | JWT (JSON Web Tokens) |
| Real-time | Socket.IO (GPS live updates) |
| Other Tools | Postman, Git/GitHub |
- Driver logs in β authenticates (ID/QR).
- Driver assigned to bus & route.
- Driver app starts GPS sharing β Backend receives continuous location.
- Backend broadcasts updates via Socket.IO.
- Passengers open app β view bus position + ETA.
- Admins/Contractors β manage assignments, monitor buses, generate reports.
flowchart TD
A[Driver Login] --> B[Auth via ID/QR]
B --> C[Assign Driver β Bus β Route]
C --> D[Driver App GPS Sharing]
D --> E[Backend Receives Location]
E --> F[Broadcast via Socket.IO]
F --> G[Passengers View on App]
E --> H[Admins Monitor & Manage]
flowchart TD
Admin([Admin]) -->|Manage data| System[(Bus Tracking System)]
Driver([Driver]) -->|Send GPS location| System
Student([Student/User]) -->|View bus location| System
System -->|Store & Retrieve| DB[(Database)]
System -->|Provide updates| Student