Skip to content

justcodeSK/GOGO_ACADAMIC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

GoGo – Smart Bus Tracking & Digital Ticketing System

GoGo is a web-based public transport management system designed to provide real-time bus tracking, route discovery, and contactless digital ticketing. The platform improves commuter experience by reducing waiting time, enabling online payments, and minimizing physical contact—especially relevant in post-pandemic scenarios.

This repository is intended as a GitHub portfolio reference showcasing backend development, database design, and system architecture using Python and Django.


📌 Project Overview

In fast-paced urban environments, uncertainty in bus arrival times leads to inefficiency and inconvenience. GoGo addresses this by enabling users to:

  • Track buses in real time
  • View routes, stops, and schedules
  • Receive arrival notifications
  • Pay ticket fares digitally via QR code

The system also provides administrators full control over buses, routes, pricing, and user complaints.


🎯 Objectives

  • Reduce passenger waiting time using real-time bus information
  • Enable secure, contactless ticket booking and payments
  • Centralize bus, route, and schedule management
  • Improve operational efficiency of public transport systems

🧩 System Architecture

Architecture Type: MVC (Model–View–Controller)
Framework: Django
Database: MySQL
Deployment Type: Web Application


👥 User Roles & Functional Scope

1. Admin Module

Feature Description
Bus Management Register, update, activate/deactivate buses
Route Management Add/remove routes and assign buses
Bus Stop Management Maintain stop lists per route
Schedule Management Define and update bus timings
Fare Management Configure ticket prices per stop
Complaint Handling View and respond to user complaints

2. User Module

Feature Description
Bus Search Search buses by source and destination
Route & Stop View View all stops along a selected route
Ticket Booking Generate tickets with auto-fare calculation
Digital Payment Contactless ticket payment via QR code
Notifications Arrival alerts before bus reaches stop
Feedback Submit complaints or suggestions

🔄 Application Workflow

  1. User logs in / registers
  2. Selects source and destination
  3. System fetches available buses and timings
  4. Fare is calculated automatically
  5. Ticket is generated and paid digitally
  6. Admin monitors operations and feedback

🗄️ Database Design Overview

The database is normalized up to Third Normal Form (3NF) to ensure:

  • Data integrity
  • Minimal redundancy
  • Efficient querying

Key Data Entities (Conceptual)

Entity Purpose
Authentication Manages user/admin access
Bus Stores bus registration and permit details
Route Defines start and end points
Bus Stop Maintains stop information
Timing Stores arrival times per stop
Ticketing Handles fare calculation and ticket history
Complaints Tracks user feedback and resolutions

Note: Database tables are structured to support scalability and real-time updates.


⚙️ Technologies Used

Backend

  • Python 3.6.7
  • Django Framework
  • MySQL Database

Frontend

  • Django Templates (HTML, CSS)
  • JavaScript (basic interactivity)

Server & Environment

  • Python Web Server
  • Windows 7 or above
  • Chrome / Firefox Browser

🧪 Testing Strategy

Testing Type Purpose
Unit Testing Validate individual modules
Integration Testing Verify interaction between components
Functional Testing Ensure features meet requirements
Validation Testing Confirm business logic correctness
User Acceptance Testing End-user approval before deployment

📈 Key Achievements

  • Reduced average waiting time by ~30 minutes
  • Enabled 100% contactless ticketing
  • Modular and scalable system design
  • Secure role-based access control

🚀 Future Enhancements

  • GPS-based live map tracking
  • Mobile application (Android/iOS)
  • Payment gateway integration (UPI / Cards)
  • AI-based arrival time prediction
  • Multi-city and fleet-level analytics

📂 How to Run the Project (Local)

# Clone repository
git clone https://github.com/your-username/gogo-project.git

# Install dependencies
pip install -r requirements.txt

# Configure database settings in settings.py

# Run migrations
python manage.py migrate

# Start server
python manage.py runserver

About

Real-time bus tracking and QR-based ticket booking using Python, Django, MySQL, following the Waterfall SDLC model. Role-based Admin/User modules with secure authentication, CRUD operations, and online transactions. Live schedule lookup, arrival notifications, fare calculation, and UI built with HTML, CSS, Bootstrap.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors