Skip to content
Muhammad1831Public

About

Ride-hailing & delivery — Flutter + GetX, flutter_map/OSM, Firebase, Persian RTL

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Baxi — Ride-Hailing & Delivery by Muhammad Saleh

Baxi — Ride-Hailing & Delivery Super-App

A Flutter mobility prototype: Taxi, Baxi, cargo & van booking with live maps, fare estimation, and driver rating.
Built with flutter_map + OpenStreetMap, Firebase, and GetX — Persian-first and production-feeling.

Visual Tour • Features • Tech Stack • Run Locally


✨ Visual Tour — Real App Captures

Actual Flutter renders — light, yellow-black Baxi brand, RTL and ready for city use. Not Figma mockups.

Splash — Baxi TAXI 3D yellow cab Login — ورود با شماره موبایل Ride options — رفت و برگشت، چند مقصده

Live map — University Acres, fare 20000-40000 تومان Cargo — BAXI وانت، 21000 تومان Rating — امتیاز به راننده امیررضا منصور

Top: Brand splash & phone login (ورود) • Middle: Ride options & map with 4 service tiers • Bottom: Cargo van & driver rating (۵ ستاره)

📸 What you see in each screen
  • Splash (splash.jpg): 3D yellow taxi on Baxi TAXI orange badge — the brand hero.
  • Login (login.jpg): ورود — شماره موبایل خود را وارد کنید + شماره همراه field + ارسال کد amber CTA, clean GetX form.
  • Ride Options (options.jpg): Illustration (phone + taxi + traveler), toggles رفت و برگشت / چند مقصده / زمان تاخیر, fare هزینه سفر 21000 تومان + درخواست تاکسی CTA.
  • Live Map (map.jpg): flutter_map OSM tiles around University Acres, route polyline, bottom sheet with 4 tiers: تاکسی 20000 / بکس بهاران 25000 / بکس کلاسیک 12000 / بکس بار 40000 + انتخاب سرویس.
  • Cargo (cargo.jpg): گزینه های سفر with BAXI yellow truck, options کمک راننده در حمل بار / شکستنی / input ارزش مالی کالا / مبدا/مقصد, fare 21000 تومان.
  • Rating (rating.jpg): امتیاز به راننده — avatar امیررضا منصور, به این سفر چه امتیازی می‌دهید؟ + 5 stars + comment box + ارسال نظر.

🚀 Features

  • Brand & Onboarding — 3D taxi splash + phone auth (ارسال کد) with GetStorage session
  • Ride Booking — گزینه های سفر with round-trip / multi-stop / scheduled toggles, fare preview
  • Live Maps — flutter_map + latlong2 + flutter_map_geojson + flutter_osm_plugin search & routing, URL launcher for external nav
  • Service Tiers — 4 fare cards: classic taxi, Bakhi, van — all in Toman, selectable bottom sheet (انتخاب سرویس)
  • Cargo & Logistics — BAXI truck mode with helper, fragile flag, declared value, origin/destination inputs
  • Driver Rating — Post-trip امتیاز به راننده with 5-star + free text + ارسال نظر (GetX controller, offline mock)
  • Persian UX — Locale('fa'), RTL mirroring, Toman formatting, amber/black Baxi palette, google_fonts

🧱 Tech Stack

Area Stack
Core Flutter 3.2+ / Dart
State & Storage GetX 4.6.6 + GetStorage
Maps flutter_map 6.1.0, latlong2, flutter_map_geojson, flutter_osm_plugin 0.70.4, url_launcher 6.2.4
Backend dio 5.4.0, firebase_core + analytics + crashlytics + messaging (wired, can enable)
UI flutter_svg, flutter_spinkit, google_fonts 6.1.0
Arch GetX controllers + Dio repositories — ready to plug REST baseUrl

📂 Structure

lib/
├── splash-screen.dart
├── controller/          # GetX (auth, map, booking, rating)
├── view/                # map, cargo, ride_options, rating
├── services/            # Dio, OSM, Firebase wrappers
└── main.dart            # GetStorage.init() → GetMaterialApp(Locale('fa'))

▶️ Run Locally

git clone https://github.com/Muhammad1831/Baxi.git
cd Baxi
flutter pub get
flutter run -d chrome    # web — fastest to verify RTL + maps
flutter run -d android   # OSM tiles need internet

Firebase (optional): Currently commented in lib/main.dart for easy local run. To enable:

  1. Uncomment Firebase init
  2. Add android/app/google-services.json + ios/Runner/GoogleService-Info.plist
  3. flutterfire configure

No API key needed for maps — OSM is open. For production, set Dio baseUrl in your service.

🎨 Design Notes

  • Palette: Baxi yellow #FFB800 + black + white — high contrast for outdoor use
  • Typography: Bold Baxi wordmark, Persian body with proper spacing
  • States: Every sheet has loading/empty/error — no dead ends
  • Pricing: All fares in تومان, consistent 21000 تومان demo fare across screens

🔜 Roadmap

  • Real-time driver location via WebSocket
  • Payment + wallet integration
  • Push notifications (FCM) for driver arrival
  • Unit tests for booking controller

Built with Flutter 💙 by Muhammad Saleh · Mobility that feels Persian

Actual implementation captures from the running app — 6 real screens. Map tiles © OpenStreetMap.

About

Ride-hailing & delivery — Flutter + GetX, flutter_map/OSM, Firebase, Persian RTL

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages