How yvesknight/kigali-ride works
Kigali Ride is an Android-first Kigali ride aggregator scaffold. Its intended rider journey runs from onboarding and location access through destination search, provider-option comparison, option detail and handoff, then trip status and rating. The README also describes profiles, saved places, trip history, help, and seven provider adapters. The sampled routes explicitly show placeholder or stub behavior and no connected APIs; adapter internals and several screens were not sampled, so their wiring is left unspecified.
Main entry points: registry.ts Adapter registry · BaseAdapter.ts Base fare adapter · [quoteId].tsx Provider handoff · profile.tsx Profile and places
Components 28
Rider journey
- App entry
app/index.tsx - Onboarding
app/(onboarding)/splash.tsx - Location access
app/(onboarding)/location-permission.tsx - Home and map
app/(tabs)/home.tsx - Destination search
app/search.tsx - Quote comparison
app/compare.tsx - Option detail
app/option/[quoteId].tsx - Provider handoff
app/handoff/[quoteId].tsx - Trip status
app/trip/[tripId].tsx - Trip rating
app/rating/[tripId].tsx
Account and support
- Trip history
app/(tabs)/history.tsx - Profile and places
app/(tabs)/profile.tsx - Phone and OTP
app/(onboarding)/auth.tsx - Help and support
app/help.tsx
Provider adapters
- Adapter registry
src/providers/core/registry.ts - Adapter interface
src/providers/core/types.ts - Base fare adapter
src/providers/core/BaseAdapter.ts - YEGO adapter
src/providers/yego/YegoAdapter.ts - Move adapter
src/providers/move/MoveAdapter.ts - Zelo adapter
src/providers/zelo/ZeloAdapter.ts - Tugende adapter
src/providers/tugende/TugendeAdapter.ts - Rapide adapter
src/providers/rapide/RapideAdapter.ts - GreenRide adapter
src/providers/greenride/GreenRideAdapter.ts - Mavo adapter
src/providers/mavo/MavoAdapter.ts
Shared contracts
- Provider types
src/types/provider.ts - Trip types
src/types/trip.ts
Other components
- Rider
- Ride providers
Connections 31
- Rider → App entry: opens app
- App entry → Onboarding: redirects
- Rider → Destination search: chooses destination
- Destination search → Quote comparison: routes selection
- Quote comparison → Option detail: opens option
- Option detail → Provider handoff: opens provider
- Provider handoff → Ride providers: handoff target
- Provider handoff → Trip status: continues trip
- Trip status → Trip rating: ends trip
- Rider → Home and map: uses home
- Rider → Trip history: views trips
- Rider → Profile and places: manages account
- Profile and places → Help and support: opens support
- Profile and places → Phone and OTP: requests auth
- Trip history → Phone and OTP: requires auth
- Adapter registry → YEGO adapter: registers adapter
- Adapter registry → Move adapter: registers adapter
- Adapter registry → Zelo adapter: registers adapter
- Adapter registry → Tugende adapter: registers adapter
- Adapter registry → Rapide adapter: registers adapter
- Adapter registry → GreenRide adapter: registers adapter
- Adapter registry → Mavo adapter: registers adapter
- YEGO adapter → Base fare adapter: extends
- Move adapter → Base fare adapter: extends
- Zelo adapter → Base fare adapter: extends
- Tugende adapter → Base fare adapter: extends
- Rapide adapter → Base fare adapter: extends
- GreenRide adapter → Base fare adapter: extends
- Mavo adapter → Base fare adapter: extends
- Base fare adapter → Adapter interface: implements contract
- Adapter interface → Provider types: defines shapes