Revolutionizing Public Transportation with Real-Time Intelligence
๐ Live Demo โข ๐ Documentation โข ๐ Quick Start โข ๐ค Contributing
- โจ Overview
- ๐ Features
- ๐ฏ Target Audience
- ๐ ๏ธ Tech Stack
- ๐๏ธ Architecture
- ๐ Project Structure
- โ๏ธ Installation & Setup
- ๐งช Usage
- ๐ธ Screenshots
- ๐ง API Documentation
- ๐ค Contributing
- ๐ Contributors
- ๐ Roadmap
- ๐ License
- โญ Support
- ๐ Contact
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.
- 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
- 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
- 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
- Multi-Language Support: Accessible in multiple languages
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark/Light Mode: Customizable interface for user preference
- Secure Authentication: JWT-based auth with Auth0 integration
- Profile Management: Personalized user dashboards
- Booking History: Complete transaction and journey records
- Real-Time Updates: Push notifications for bus arrivals and delays
- SMS/Email Alerts: Configurable notification preferences
- Smart Route Suggestions: AI-driven optimal path recommendations
- Predictive Analytics: Anticipate delays and suggest alternatives
- ๐ถ 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
| Technology | Purpose | Version |
|---|---|---|
| UI Framework | 18.x | |
| Build Tool | 4.x | |
| Programming Language | ES6+ | |
| Mapping Service | API v3 | |
| Styling | 3.x |
| Technology | Purpose | Version |
|---|---|---|
| Runtime | 18.x | |
| Web Framework | 4.x | |
| Database | 6.x | |
| Caching | 7.x | |
| Authentication | 9.x |
| Technology | Purpose |
|---|---|
| Identity Management | |
| Payment Gateway | |
| AI Integration | |
| Real-Time Communication |
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
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
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
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download
- MongoDB (v6 or higher) - Download
- Redis (v7 or higher) - Download
- Git - Download
-
Clone the Repository
git clone https://github.com/ayanmanna123/GPS_Tracker.git cd GPS_Tracker -
Environment Setup
# Copy environment templates cp Backend/.env.example Backend/.env cp Frontend/.env.example Frontend/.env -
Backend Configuration
cd Backend # Install dependencies npm install # Configure environment variables in .env # See ENV_SETUP.md for detailed configuration
-
Frontend Configuration
cd ../Frontend # Install dependencies npm install # Configure environment variables in .env
-
Start Development Servers
# Terminal 1: Start Backend cd Backend npm run dev # Terminal 2: Start Frontend cd Frontend npm run dev
-
Access the Application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
# Build and run with Docker Compose
docker-compose up --build-
Registration/Login
- Create account or sign in with Auth0
- Complete profile setup
-
Search & Book
- Search buses by route or location
- Select preferred bus and seat
- Complete secure payment
-
Track & Travel
- Monitor real-time bus location
- Receive arrival notifications
- Access journey history
// 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'
});๐ Note: Replace placeholder images with actual screenshots from your application
Comprehensive API documentation is available in API.md
# 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/trackingFor detailed API specifications, see API.md
We welcome contributions from developers of all skill levels! ๐
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/GPS_Tracker.git - Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit with clear messages:
git commit -m "Add amazing feature" - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
๐ bug- Bug fixesโจ feature- New features๐ documentation- Documentation improvements๐ง enhancement- Code improvements๐จ ui/ux- User interface updates๐งช testing- Test additions/updates
- 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.
![]() Ayan Manna ๐ ๐ป |
Want to be featured here? Make your first contribution! ๐
- โ Real-time bus tracking
- โ Secure payment integration
- โ Multi-language support
- โ Responsive web design
- ๐ฑ Mobile app development (React Native)
- ๐ค AI-powered route optimization
- ๐ Advanced analytics dashboard
- ๐ Offline functionality
- ๐ Push notification system
- ๐ Predictive maintenance alerts
- ๐ Multi-city expansion
- ๐ค Partner integrations
- ๐ Gamification features
- ๐ฏ Carbon footprint tracking
- ๐ Integration with ride-sharing services
- ๐ฑ AR navigation assistance
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.
If you find this project helpful, please consider:
- โญ Starring the repository
- ๐ Sharing with your network
- ๐ฌ Contributing code or documentation
- ๐ Reporting issues and suggestions
- ๐ง Email: support@whereismybus.com
- ๐ฌ Discussions: GitHub Discussions
- ๐ Issues: GitHub Issues
- ๐ Documentation: Wiki
