A Smart Transport Management Platform for Modern Public and Corporate Transportation
TrackNGo is a comprehensive transport management system developed as a second-year software engineering project. It streamlines passenger bookings, fleet operations, route management, payments, corporate transport services, real-time communication, and emergency support through a modern, modular architecture.
- Secure authentication and authorization
- Role-based access control
- Passenger management
- Driver management
- Corporate account management
- Administrator management
- Profile management
- Seat booking system
- Trip booking
- Route management
- Bus management
- Fleet management
- Seat layout management
- Journey scheduling
- Bus location tracking
- Route monitoring
- Live location updates
- GPS-based tracking support
- Secure payment processing
- Payment history
- Refund management
- Promotion and discount handling
- Corporate invoicing
- Real-time chat
- Notifications
- Complaint management
- Feedback and rating system
- SOS emergency alerts
- Emergency contacts
- Emergency hotline integration
- Incident reporting
- Corporate transport contracts
- Company user management
- Billing and invoice management
TrackNGo follows a Modular Monolith Architecture, separating business domains into independent modules while deploying as a single Spring Boot application.
+----------------------+
| Frontend |
+----------+-----------+
|
|
REST APIs / WebSocket
|
โผ
+----------------------+
| Spring Boot App |
+----------+-----------+
|
-------------------------------------------------------
| | | | | |
โผ โผ โผ โผ โผ โผ
Auth Booking Tracking Payment Chat Notifications
| | | | | |
-------------------------------------------------------
|
โผ
MySQL Database
commonsauth-user-modulebooking-moduletracking-moduledriver-fleet-modulepayment-modulenotification-modulecomplaint-modulechat-modulefeedback-rating-moduleadmin-modulesos-moduleapp(Main Spring Boot Application)
- Java 21
- Spring Boot 3
- Spring Security
- Spring Data JPA
- Spring Validation
- Spring WebSocket
- Maven
- JWT Authentication
- Lombok
- MySQL
- Twilio SMS
- Stripe
- PayHere
- React / React Native
- Expo (Mobile)
The project contains a comprehensive MySQL schema supporting:
- Users
- Passengers
- Drivers
- Admins
- Corporate Users
- Routes
- Route Stops
- Buses
- Seat Layouts
- Seat Bookings
- Trip Bookings
- Payments
- Refunds
- Promotions
- Ratings
- Complaints
- Notifications
- Conversations
- Chat Messages
- SOS Alerts
- Emergency Contacts
- Corporate Contracts
- Corporate Invoices
- Bus Locations
TrackNGo/
โ
โโโ backend/
โ โโโ trackngo-backend/
โ โโโ commons/
โ โโโ auth-user-module/
โ โโโ booking-module/
โ โโโ tracking-module/
โ โโโ driver-fleet-module/
โ โโโ payment-module/
โ โโโ notification-module/
โ โโโ complaint-module/
โ โโโ chat-module/
โ โโโ feedback-rating-module/
โ โโโ admin-module/
โ โโโ sos-module/
โ โโโ app/
โ
โโโ frontend/
โโโ docs/
โโโ uploads/
โโโ trackngo_complete.sql
โโโ trackngo_sample_data.sql
โโโ README.md
Before running the project, ensure you have:
- Java 21
- Maven
- MySQL Server
- Node.js & npm
- Git
git clone https://github.com/dinithrathnayaka23/TrackNGo.git
cd TrackNGogit checkout developmentCREATE DATABASE trackngo;mysql -u root -p trackngo < trackngo_complete.sqlmysql -u root -p trackngo < trackngo_sample_data.sqlcd backend/trackngo-backendmvn clean installmvn spring-boot:run -pl appThe backend will start at:
http://localhost:8080
Navigate to the frontend directory:
cd frontendInstall dependencies:
npm installRun the project:
npm startFor Expo-based development:
npx expo startCreate a .env file and configure the following values:
DB_URL=jdbc:mysql://localhost:3306/trackngo
DB_USERNAME=root
DB_PASSWORD=your_password
JWT_SECRET=your_secret_key
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_NUMBER=
TWILIO_MESSAGING_SERVICE_SID=
TWILIO_DEFAULT_COUNTRY_CODE=+94
SMS_PROVIDER=twilio
PAYHERE_MERCHANT_ID=
PAYHERE_MERCHANT_SECRET=
PAYHERE_SANDBOX=true
STRIPE_SECRET_KEY=
STRIPE_PUBLISHABLE_KEY=- ๐ JWT Authentication
- ๐ฅ Multi-role User System
- ๐ Smart Bus & Route Management
- ๐ซ Seat Reservation
- ๐ Live Bus Tracking
- ๐ฌ Real-Time Chat
- ๐ Notification System
- ๐จ SOS Emergency Support
- ๐ Emergency Contact Management
- ๐ณ Payment & Refund Processing
- ๐ข Corporate Transport Services
- โญ Ratings & Reviews
- ๐ Complaint Management
- ๐ Promotions & Discounts
- AI-powered ETA prediction
- Driver mobile application
- Passenger live tracking dashboard
- Push notifications
- Analytics dashboard
- Smart route optimization
- Digital ticket QR codes
- Multi-language support
- Cloud deployment
- CI/CD integration
Developed as part of a Second-Year Software Engineering Project.
Contributions from project team members are welcome through pull requests and code reviews.
This repository is intended for educational and academic purposes.