Skip to content

dinithrathnayaka23/TrackNGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

225 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš TrackNGo

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.


โœจ Features

๐Ÿ‘ค User Management

  • Secure authentication and authorization
  • Role-based access control
  • Passenger management
  • Driver management
  • Corporate account management
  • Administrator management
  • Profile management

๐ŸšŒ Booking & Transportation

  • Seat booking system
  • Trip booking
  • Route management
  • Bus management
  • Fleet management
  • Seat layout management
  • Journey scheduling

๐Ÿ“ Real-Time Tracking

  • Bus location tracking
  • Route monitoring
  • Live location updates
  • GPS-based tracking support

๐Ÿ’ณ Payments

  • Secure payment processing
  • Payment history
  • Refund management
  • Promotion and discount handling
  • Corporate invoicing

๐Ÿ’ฌ Communication

  • Real-time chat
  • Notifications
  • Complaint management
  • Feedback and rating system

๐Ÿšจ Safety Features

  • SOS emergency alerts
  • Emergency contacts
  • Emergency hotline integration
  • Incident reporting

๐Ÿข Corporate Services

  • Corporate transport contracts
  • Company user management
  • Billing and invoice management

๐Ÿ—๏ธ Architecture

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

๐Ÿ“ฆ Backend Modules

  • 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 (Main Spring Boot Application)

๐Ÿ› ๏ธ Technology Stack

Backend

  • Java 21
  • Spring Boot 3
  • Spring Security
  • Spring Data JPA
  • Spring Validation
  • Spring WebSocket
  • Maven
  • JWT Authentication
  • Lombok

Database

  • MySQL

External Integrations

  • Twilio SMS
  • Stripe
  • PayHere

Frontend

  • React / React Native
  • Expo (Mobile)

๐Ÿ—„๏ธ Database Highlights

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

๐Ÿ“ Project Structure

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

โš™๏ธ Prerequisites

Before running the project, ensure you have:

  • Java 21
  • Maven
  • MySQL Server
  • Node.js & npm
  • Git

๐Ÿš€ Backend Setup

Clone the repository

git clone https://github.com/dinithrathnayaka23/TrackNGo.git
cd TrackNGo

Switch to development branch

git checkout development

Create the database

CREATE DATABASE trackngo;

Import schema

mysql -u root -p trackngo < trackngo_complete.sql

(Optional) Import sample data

mysql -u root -p trackngo < trackngo_sample_data.sql

Navigate to backend

cd backend/trackngo-backend

Build

mvn clean install

Run

mvn spring-boot:run -pl app

The backend will start at:

http://localhost:8080

๐Ÿ“ฑ Frontend Setup

Navigate to the frontend directory:

cd frontend

Install dependencies:

npm install

Run the project:

npm start

For Expo-based development:

npx expo start

๐Ÿ” Environment Variables

Create 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=

๐ŸŒŸ Key Capabilities

  • ๐Ÿ” 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

๐Ÿ”ฎ Future Enhancements

  • 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

๐Ÿค Contributors

Developed as part of a Second-Year Software Engineering Project.

Contributions from project team members are welcome through pull requests and code reviews.


๐Ÿ“„ License

This repository is intended for educational and academic purposes.


โญ If you find this project useful, consider giving it a star on GitHub!

About

Second Year Software Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors