What problem does it solve?
Provides a complete client-side implementation for booking, estimating, and tracking on-demand rides so users can quickly request transportation, see real-time driver location, and complete payments without manual coordination across components.
Core Features & Use Cases
- Fare estimation and service selection: estimate fares for motorbike, 4-seat, and 7-seat services with surge pricing applied.
- Booking lifecycle and management: book rides, cancel orders, fetch ride details and history, and handle payment and voucher application.
- Real-time tracking and UX: socket-driven driver location updates, camera auto-follow behavior, and a RideStatusBar to reflect state transitions from pending to completed.
- Architecture & rules: Clean Architecture with domain entities, use cases, data sources, and presentation layers (BLoC + cubit); RideBloc is injectable and DriverEntity must not be persisted.
Quick Start
Open the RideHomePage, select a destination, request an estimate, choose a service and payment method, then confirm booking to start ride tracking.