Nokta — Ride-Hailing / Delivery MVP
Featured
Overview
Production-pattern Flutter template for ride-hailing and delivery — real geocoding, live tracking, offline-first cache, and bilingual EN/AR UX
The Problem
Ride-hailing MVPs often ship with fake coordinates, brittle map demos, and no offline path—making it hard to swap in a real backend without rewriting core flows.
The Solution
I built Nokta as a scalable Uber-like template: feature-first Clean Architecture with BLoC, GoRouter tab shell, Nominatim autocomplete + reverse geocode, flutter_map + OSRM routing with tile cache, two-phase driver tracking, per-km tier pricing, Hive stale-while-revalidate, pending sync queue, and full English/Arabic RTL support.
Technologies used
Tech stack
Languages
Dart
Platforms
Flutterflutter_blocflutter_map
Architecture & state
Clean ArchitectureBLoC/Cubitgo_routerget_it
Backend, data & cloud
dioHiveFirebaseMock API
Experience & UI
easy_localization
Other
OSRMNominatimTalkerOffline-first
Key Outcomes
- Six feature domains (auth, home, trips, notifications, profile, settings) with mock JSON API ready to swap for production backends.
- Real location stack: debounced Nominatim search, OSRM road-following routes, two-phase live tracking, and dynamic fare quotes by tier.
- Offline-first reads and writes: Hive cache with TTL, stale-while-revalidate lists, connectivity-aware sync, and pending mutation queue.
- Polished MVP UX: dark/light themes, Inter + Cairo typography, skeleton loaders, toast feedback, and native launcher/splash branding.
Screenshots & gallery
Splash & Onboarding5 images
Authentication Flow3 images
Ride Booking Flow4 images
Trip Management4 images
Chat & Notifications3 images
User Profile1 image