Logo Lanfrica

and222row/yala-nsafr

Domaine:

mobilitydigital infrastructure

Type de record:

softwareproject
Créateur:
and
Hôte:
Intercity carpooling platform for Egypt — NestJS backend, Flutter app, Kashier payments # يلا نسافر · Yala Nsafr Intercity carpooling for Egypt. Drivers post trips they are already making, passengers book a seat, and the platform holds the fare in escrow until the trip completes — taking a 7% commission and paying the driver out to a mobile wallet or bank account. | | | |---|---| | **Backend** | NestJS 11 · PostgreSQL + PostGIS · Redis · TypeORM | | **Mobile** | Flutter (Dart SDK ≥ 3.3), Riverpod, GoRouter — Arabic-first, RTL | | **Payments** | Kashier (authorize → capture escrow, plus payouts) | | **Push** | Firebase Cloud Messaging | | **Tests** | 111 end-to-end tests against a real Postgres instance | The marketing site lives separately at and222row/yala-nsafr-website. --- ## What it does **Trips & booking** — search by route and date, seat availability, women-only trips, preferences (smoking, pets, luggage, A/C, chattiness), per-trip comments and group chat, live driver location while a trip is running, and an SOS button for every participant. **Money** — card and wallet payments are *authorized* at booking and only *captured* when the driver ends the trip, so a passenger's funds are held rather than taken. Cancellations resolve by policy (free cancel → void the hold, late cancel → capture then partially refund, no refund → capture in full). Cash trips skip escrow entirely and are tracked for commission only. **Drivers** — verification, earnings broken down per trip, withdrawals to Vodafone Cash / InstaPay / bank, and subscription-gated trip posting. **Trust & safety** — two-sided ratings revealed after both parties submit (or after 7 days), disputes with admin mediation, user blocking, and an escalating ban for drivers who repeatedly cancel (3 strikes → 7-day posting ban, 5 → 30 days, 10 → suspension). **Automation** — scheduled jobs send pre-departure reminders, auto-cancel abandoned trips, auto-reject bookings a driver never answers, reveal expired ratings, and reconcile payouts against Kashier. --- ## Getting started ### Prerequisi …