Skip to content

ayanmanna123/GPS_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸšŒ Where Is My Bus โ€“ Real-Time Bus Tracking & Booking System

Where Is My Bus Logo License: MIT Node.js React MongoDB Redis Razorpay Auth0

Revolutionizing Public Transportation with Real-Time Intelligence

๐ŸŒ Live Demo โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿš€ Quick Start โ€ข ๐Ÿค Contributing


๐Ÿ“‹ Table of Contents


โœจ Overview

Where Is My Bus is a cutting-edge, full-stack web application that transforms the public transportation experience by providing real-time bus tracking, seamless booking, and intelligent route planning. Built with modern technologies and a user-centric design, it empowers commuters with live location data, secure payments, and comprehensive journey management.

Whether you're a daily commuter, a tourist exploring new cities, or a transport operator managing fleets, Where Is My Bus delivers unparalleled visibility and convenience in public transit.


๐Ÿš€ Features

๐Ÿ” Smart Search & Discovery

  • Multi-criteria Search: Find buses by route (from/to), bus name, or unique ID
  • Intelligent Filtering: Sort by departure time, price, or availability
  • Nearby Places Integration: Discover hospitals, schools, and clinics along routes

๐Ÿ“ Real-Time Tracking

  • Live GPS Monitoring: Track bus locations in real-time on interactive maps
  • ETA Predictions: Get accurate arrival time estimates
  • Route Visualization: See complete journey paths with stops and landmarks

๐ŸŽซ Seamless Booking

  • One-Click Booking: Instant ticket reservation with secure payment
  • Multiple Payment Options: Integrated with Razorpay for safe transactions
  • Booking Management: View, modify, or cancel bookings with ease

๐ŸŒ User Experience

  • Multi-Language Support: Accessible in multiple languages
  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Dark/Light Mode: Customizable interface for user preference

๐Ÿ‘ค User Management

  • Secure Authentication: JWT-based auth with Auth0 integration
  • Profile Management: Personalized user dashboards
  • Booking History: Complete transaction and journey records

๐Ÿ”” Notifications & Alerts

  • Real-Time Updates: Push notifications for bus arrivals and delays
  • SMS/Email Alerts: Configurable notification preferences

๐Ÿค– AI-Powered Features (Optional)

  • Smart Route Suggestions: AI-driven optimal path recommendations
  • Predictive Analytics: Anticipate delays and suggest alternatives

๐ŸŽฏ Target Audience

  • ๐Ÿšถ Daily Commuters: Students, professionals, and regular travelers
  • ๐Ÿงณ Tourists & Visitors: Exploring cities with public transport
  • ๐Ÿข Transport Operators: Managing and monitoring bus fleets
  • ๐Ÿ›๏ธ City Planners: Analyzing transportation patterns
  • ๐Ÿ“ฑ Mobile Users: On-the-go access to transportation information

๐Ÿ› ๏ธ Tech Stack

๐ŸŽจ Frontend

Technology Purpose Version
React UI Framework 18.x
Vite Build Tool 4.x
JavaScript Programming Language ES6+
Google Maps Mapping Service API v3
Tailwind CSS Styling 3.x

โš™๏ธ Backend

Technology Purpose Version
Node.js Runtime 18.x
Express.js Web Framework 4.x
MongoDB Database 6.x
Redis Caching 7.x
JWT Authentication 9.x

๐Ÿ”ง Additional Tools

Technology Purpose
Auth0 Identity Management
Razorpay Payment Gateway
OpenAI AI Integration
Socket.io Real-Time Communication

๐Ÿ—๏ธ Architecture

graph TB
    A[๐ŸŒ Frontend - React/Vite] --> B[๐Ÿš€ API Gateway - Express.js]
    B --> C[๐Ÿ‘ค Authentication - Auth0/JWT]
    B --> D[๐Ÿ’ณ Payment - Razorpay]
    B --> E[๐Ÿ“ Location Services - Google Maps]
    B --> F[๐Ÿค– AI Services - OpenAI]

    C --> G[(๐Ÿ—„๏ธ MongoDB)]
    D --> G
    E --> H[(โšก Redis Cache)]
    F --> H

    I[๐Ÿ“ก WebSocket Server] --> A
    I --> J[๐Ÿ“ฑ Mobile Clients]

    K[๐ŸšŒ GPS Devices] --> L[๐Ÿ“Š Tracking Service]
    L --> H
    L --> G

    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style G fill:#e8f5e8
    style H fill:#fff3e0
Loading

System Components:

  • Frontend Layer: Responsive React application with real-time updates
  • API Layer: RESTful APIs with GraphQL support for complex queries
  • Data Layer: MongoDB for persistent storage, Redis for caching
  • Real-Time Layer: WebSocket connections for live tracking
  • External Services: Integration with payment gateways and mapping services

๐Ÿ“‚ Project Structure

GPS_Tracker/
โ”œโ”€โ”€ ๐Ÿ“ Backend/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ controllers/          # Business logic handlers
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ middleware/           # Authentication & validation
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ models/              # Database schemas
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ routes/              # API endpoints
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ services/            # External service integrations
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ utils/               # Helper functions
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ server.js            # Application entry point
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ package.json         # Dependencies & scripts
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ Frontend/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/      # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ hooks/           # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ services/        # API service functions
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ Redux/           # State management
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ App.jsx          # Main application component
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ vite.config.js       # Build configuration
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ package.json         # Dependencies & scripts
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ docs/                    # Documentation
โ”œโ”€โ”€ ๐Ÿ“„ README.md                # Project documentation
โ”œโ”€โ”€ ๐Ÿ“„ API.md                   # API reference
โ”œโ”€โ”€ ๐Ÿ“„ CONTRIBUTING.md          # Contribution guidelines
โ””โ”€โ”€ ๐Ÿ“„ LICENSE                  # License information

โš™๏ธ Installation & Setup

๐Ÿ“‹ Prerequisites

Before you begin, ensure you have the following installed:

๐Ÿš€ Quick Start

  1. Clone the Repository

    git clone https://github.com/ayanmanna123/GPS_Tracker.git
    cd GPS_Tracker
  2. Environment Setup

    # Copy environment templates
    cp Backend/.env.example Backend/.env
    cp Frontend/.env.example Frontend/.env
  3. Backend Configuration

    cd Backend
    
    # Install dependencies
    npm install
    
    # Configure environment variables in .env
    # See ENV_SETUP.md for detailed configuration
  4. Frontend Configuration

    cd ../Frontend
    
    # Install dependencies
    npm install
    
    # Configure environment variables in .env
  5. Start Development Servers

    # Terminal 1: Start Backend
    cd Backend
    npm run dev
    
    # Terminal 2: Start Frontend
    cd Frontend
    npm run dev
  6. Access the Application

๐Ÿณ Docker Setup (Alternative)

# Build and run with Docker Compose
docker-compose up --build

๐Ÿงช Usage

๐Ÿ‘ค User Journey

  1. Registration/Login

    • Create account or sign in with Auth0
    • Complete profile setup
  2. Search & Book

    • Search buses by route or location
    • Select preferred bus and seat
    • Complete secure payment
  3. Track & Travel

    • Monitor real-time bus location
    • Receive arrival notifications
    • Access journey history

๐Ÿ”ง Developer Usage

// Example API usage
import { searchBuses, bookTicket } from './services/api';

// Search buses
const buses = await searchBuses({
  from: 'New York',
  to: 'Boston',
  date: '2024-01-15'
});

// Book a ticket
const booking = await bookTicket({
  busId: 'bus123',
  seats: ['A1', 'A2'],
  paymentMethod: 'razorpay'
});

๐Ÿ“ธ Screenshots

๐Ÿ  Homepage

Homepage

๐Ÿ—บ๏ธ Live Tracking

Live Tracking

๐ŸŽซ Booking Interface

Booking

๐Ÿ‘ค User Dashboard

Dashboard

๐Ÿ“ Note: Replace placeholder images with actual screenshots from your application


๐Ÿ”ง API Documentation

Comprehensive API documentation is available in API.md

๐Ÿš€ Quick API Reference

# Authentication
POST /api/v1/auth/login
POST /api/v1/auth/register

# Bus Operations
GET /api/v1/buses/search?from=NYC&to=BOS
GET /api/v1/buses/{id}/location

# Booking
POST /api/v1/bookings
GET /api/v1/bookings/{id}

# Real-time Updates
WebSocket: ws://localhost:5000/ws/tracking

For detailed API specifications, see API.md


๐Ÿค Contributing

We welcome contributions from developers of all skill levels! ๐Ÿš€

๐Ÿ“ How to Contribute

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/your-username/GPS_Tracker.git
  3. Create a feature branch: git checkout -b feature/amazing-feature
  4. Make your changes and test thoroughly
  5. Commit with clear messages: git commit -m "Add amazing feature"
  6. Push to your branch: git push origin feature/amazing-feature
  7. Open a Pull Request

๐Ÿท๏ธ Issue Labels

  • ๐Ÿ› bug - Bug fixes
  • โœจ feature - New features
  • ๐Ÿ“š documentation - Documentation improvements
  • ๐Ÿ”ง enhancement - Code improvements
  • ๐ŸŽจ ui/ux - User interface updates
  • ๐Ÿงช testing - Test additions/updates

๐Ÿ“‹ Development Guidelines

  • Follow ESLint rules
  • Write comprehensive tests
  • Update documentation for API changes
  • Ensure responsive design
  • Maintain code coverage above 80%

See CONTRIBUTING.md for detailed guidelines.


๐Ÿ† Contributors

๐ŸŒŸ Core Team

Ayan Manna
Ayan Manna

๐Ÿ“‹ ๐Ÿ’ป
## ๐Ÿค All Contributors Contributors

Want to be featured here? Make your first contribution! ๐ŸŽ‰


๐Ÿ“Œ Roadmap

๐Ÿš€ Phase 1 (Current)

  • โœ… Real-time bus tracking
  • โœ… Secure payment integration
  • โœ… Multi-language support
  • โœ… Responsive web design

๐Ÿ”ฎ Phase 2 (Q2 2024)

  • ๐Ÿ“ฑ Mobile app development (React Native)
  • ๐Ÿค– AI-powered route optimization
  • ๐Ÿ“Š Advanced analytics dashboard
  • ๐Ÿ”„ Offline functionality

๐Ÿš Phase 3 (Q4 2024)

  • ๐Ÿ”” Push notification system
  • ๐Ÿ“ˆ Predictive maintenance alerts
  • ๐ŸŒ Multi-city expansion
  • ๐Ÿค Partner integrations

๐Ÿ’ก Future Ideas

  • ๐Ÿ† Gamification features
  • ๐ŸŽฏ Carbon footprint tracking
  • ๐Ÿ”— Integration with ride-sharing services
  • ๐Ÿ“ฑ AR navigation assistance

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2024 Ayan Manna

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

โญ Support

๐Ÿ’ Show Your Support

If you find this project helpful, please consider:

  • โญ Starring the repository
  • ๐Ÿ”— Sharing with your network
  • ๐Ÿ’ฌ Contributing code or documentation
  • ๐Ÿ› Reporting issues and suggestions

๐Ÿ†˜ Getting Help


๐Ÿ“ž Contact

Ayan Manna ๐Ÿ‘จโ€๐Ÿ’ป

LinkedIn Twitter GitHub Portfolio

Project Link: https://github.com/ayanmanna123/GPS_Tracker


Made with โค๏ธ by Ayan Manna and the amazing open-source community


Last updated: January 2026

About

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 40

Languages