All Projects

Ride Hailing App

A real-time ride-hailing platform with live GPS tracking, sub-second driver matching via Socket.io, cashless payments, and separate Flutter apps for passengers and drivers.

Overview

A full-stack ride-hailing application connecting urban passengers with nearby drivers in real time. Built to handle the complete ride lifecycle — from driver discovery and live tracking to cashless payment and post-trip rating — across both passenger and driver mobile apps.

Key Features

  • Real-time Driver Matching: Geolocation-based algorithm matches passengers with the nearest available driver, factoring in driver heading and estimated arrival time.
  • Live GPS Tracking: Continuous driver location updates via Google Maps SDK displayed in both passenger and driver apps throughout the trip.
  • Socket.io Event Layer: Instant push of ride requests, driver acceptance, trip start/end events, and cancellations — no polling, sub-second latency.
  • Dynamic Fare Estimation: Pricing calculated from distance, estimated duration, time of day, and demand surge multiplier shown before booking.
  • Cashless Payments: In-app payment processing with automatic fare deduction at trip end, digital receipt, and earnings transfer to driver wallet.
  • Driver App: Separate Flutter app for drivers with trip request queue, in-app navigation integration, online/offline toggle, and earnings dashboard.
  • Admin Dashboard: Fleet monitoring on a live map, trip history, driver verification and onboarding, dispute management, and revenue analytics.

Architecture

The backend is Express.js/Node.js handling REST APIs, with Socket.io managing the real-time event layer for driver-passenger communication. Firebase Realtime Database stores driver location updates at high frequency for fast geo-queries. Both the passenger and driver mobile apps are built in Flutter for a single codebase across iOS and Android. The admin dashboard is a Vue.js web application. All services are containerized and deployed behind Nginx.