Inspiration Public transportation in many cities faces critical challenges: passengers struggle to find real-time bus information, drivers lack efficient communication with dispatch, and administrators have limited visibility into operations. We witnessed commuters waiting endlessly at bus stops, unsure when their bus would arrive, and people with accessibility needs unable to determine if buses had wheelchair-accessible seating. This inspired us to create Ascension_GoBus - a comprehensive platform that bridges the gap between passengers, drivers, and administrators through real-time technology, making public transportation more accessible, efficient, and user-friendly for everyone.
What it does Ascension_GoBus is a real-time bus management ecosystem with three interconnected portals. Passengers can search routes, book seats (including wheelchair-accessible options), track buses live on Google Maps, save favorite routes, and manage their trip history. Drivers access a dedicated dashboard showing booked seats, live tracking, traffic alerts, and direct chat with administrators. Admins oversee the entire operation through analytics dashboards, route management, fleet monitoring, and real-time communication with all drivers via broadcast or direct messaging. The platform uses WebSocket technology to deliver instant notifications, live location updates, and seamless chat functionality across all user types.
How we built it We architected a full-stack MERN application with real-time capabilities. The frontend leverages React 19 with TypeScript, React Router for navigation, Google Maps API for live tracking visualization, and Socket.IO Client for WebSocket connections. We used Recharts for analytics visualization and Tailwind CSS for responsive design. The backend runs on Node.js with Express.js, implementing RESTful APIs secured with JWT authentication and bcrypt password hashing. MongoDB with Mongoose ODM handles data persistence across nine database models (Users, Routes, Bookings, Buses, LiveBus, Favorites, Notifications, TrafficAlerts, and Drivers). Socket.IO powers the real-time features including live tracking, chat, and notifications. We containerized everything with Docker for streamlined deployment and used Vite for optimized frontend builds.
Challenges we ran into Implementing real-time GPS tracking with accurate coordinate updates proved complex, requiring careful WebSocket event management and state synchronization across multiple clients. Managing three distinct user roles with different permissions and UI flows demanded meticulous routing and authentication logic. Integrating Google Maps API while maintaining performance was challenging, especially with multiple live bus markers updating simultaneously. The real-time chat system needed to handle both broadcast and direct messaging reliably, requiring sophisticated socket room management. Ensuring accessibility features worked seamlessly across the booking flow took extensive testing. Coordinating database schema changes across multiple models while maintaining backward compatibility required careful migration planning. Finally, managing state across React contexts (Socket, Notifications, Accessibility) without causing unnecessary re-renders demanded optimization.
Accomplishments that we're proud of We successfully built a production-ready platform with genuine real-time capabilities - buses update their locations live, notifications arrive instantly, and chat messages flow seamlessly. The accessibility features, including dedicated wheelchair-accessible seat booking, demonstrate our commitment to inclusive design. We implemented a sophisticated three-portal architecture where each user type has a tailored experience while sharing the same robust backend. The admin analytics dashboard with revenue charts and route performance metrics provides actionable business insights. Our WebSocket implementation handles multiple concurrent users efficiently with proper room management and event handling. The booking system with seat selection, fare calculation, and payment tracking works flawlessly. We're particularly proud of the clean, intuitive UI that makes complex operations feel simple, and the comprehensive API structure with proper validation, error handling, and security measures.
What we learned We gained deep expertise in real-time WebSocket architecture and learned how to manage complex state synchronization across multiple clients. Working with Google Maps API taught us about geolocation services, coordinate systems, and map marker optimization. We mastered React Context API for global state management and learned when to use it versus component-level state. Implementing JWT authentication and role-based access control strengthened our understanding of web security best practices. We learned how to structure a large-scale MERN application with clear separation of concerns, making the codebase maintainable and scalable. Database schema design for interconnected models (routes, bookings, users, buses) taught us about data relationships and query optimization. We discovered the importance of accessibility in web applications and how to implement inclusive features. Docker containerization showed us how to create consistent development and production environments.
What's next for Ascension_GoBus We plan to integrate payment gateway APIs (Stripe/PayPal) for seamless online transactions and automated refunds. Push notifications via Firebase Cloud Messaging will enhance the mobile experience. We'll implement machine learning algorithms to predict bus arrival times based on historical traffic data and provide route optimization suggestions. A mobile app using React Native will extend our reach to smartphone users. We want to add a rating and review system for routes and drivers, helping improve service quality. Integration with traffic APIs will provide real-time congestion alerts and suggest alternative routes. We'll implement Redis caching to improve API response times and reduce database load. Advanced analytics with predictive insights will help administrators optimize schedules and fleet allocation. Multi-language support will make the platform accessible to diverse communities. Finally, we plan to add QR code-based ticket verification for drivers and implement a loyalty rewards program for frequent passengers.
Built With
- mern
Log in or sign up for Devpost to join the conversation.