Skip to content

Repository files navigation

Project-RBC — IUT Mobility & Community

Project-RBC is a cross-platform Flutter mobile/web app for the IUT community that reduces uncertainty and waiting time for students by providing real‑time bus tracking, seat pre‑booking, and a campus blood‑donation coordination system.

Problem statement

Students often waste time waiting for campus buses, face seat availability uncertainty for scheduled trips, and have limited ways to coordinate urgent blood donation requests. Project‑RBC solves these problems by delivering live vehicle telemetry, reliable seat reservations with waitlists, and targeted donor notifications.

Primary users

  • IUT students (primary)
  • Secondary: drivers, transport office operators, blood‑donation moderators, and ICT/administration staff

Core features (MVP)

  • Real‑time bus tracking and per‑stop ETAs for two university buses, with map view and stale‑telemetry handling.
  • Seat pre‑booking for scheduled trips with live availability, waitlist, and QR/NFC check‑in flow.
  • Blood donation module: create requests, match eligible donors by blood group/eligibility, and notify relevant users.
  • Basic admin console for transport operators and moderators, and a lightweight driver app for telemetry/check‑in.

Tech stack (MVP recommendation)

  • Frontend: Flutter (Android, iOS, Web/PWA)
  • Backend: Supabase (PostgreSQL with Row‑Level Security and Realtime) — optional custom API (Node.js/Go) + MQTT later
  • Notifications: Firebase Cloud Messaging (APNs via FCM for iOS)
  • Maps: Google Maps SDK (mobile) / Leaflet (web)
  • CI/CD: GitHub Actions or Codemagic; beta distribution via Firebase App Distribution / TestFlight

Quick start (developer)

  1. Clone the repo: git clone
  2. Install Flutter dependencies: flutter pub get
  3. Configure environment variables (example):
    • SUPABASE_URL
    • SUPABASE_ANON_KEY (or server key for edge functions)
    • GOOGLE_MAPS_API_KEY
    • FCM_SENDER_ID / Firebase config for Android/iOS
  4. Run (mobile): flutter run
  5. Run (web): flutter run -d chrome

(Provide a sample .env.example or instructions for setting Supabase/Firebase credentials in the repo.)

Architecture (short)

  • GPS tracker → MQTT / HTTP → edge function → upsert into bus_locations → realtime channel → clients.
  • Bookings and donation requests handled via RLS‑protected tables, triggers/functions for booking integrity and notification fan‑out.

User flows (high level)

  • Tracking: open app → view live bus markers and ETA → set arrival alert.
  • Booking: choose trip/date → reserve seat → check in via QR/NFC or driver confirmation.
  • Donation: submit request → moderators review (first‑time) → notify eligible donors → donor responds.

Acceptance criteria (MVP highlights)

  • Telemetry latency p95 ≤ 5s; stale telemetry badge after 30s.
  • No over‑bookings under expected load; waitlist promotion within seconds.
  • Notification delivery for blood alerts within target SLA (pilot metrics to be measured).

Contributing

  • Please open issues for bugs and feature requests.
  • Fork → branch → PR; include tests where applicable.
  • Follow the code style and commit message guidelines (TBA).

Screenshots / Demo

  • (Add screenshots or link to demo APK/TestFlight builds here.)

License

This project is licensed under the MIT License — see the LICENSE file for details.

Contact

Maintainer: tahsinbinreza@gmail.com

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages