Skip to main content

Driver App Overview

Location: /Users/dhilshad/Metaonus/syncad-driver Stack: Flutter 3.8.1+, Provider, Dio, flutter_map, Socket.IO, GetIt API Base: https://dev-api.metaonus.in/driver/*

Purpose

The SyncAD Driver App gives bus drivers a mobile interface to manage their daily trips — view assigned buses, start/pause/resume/end trips, mark student boarding and alighting, report incidents, and track live location.

Feature Modules

ModuleDescription
HomeDashboard with assigned bus, today's trips, live map
TripsStart, pause, resume, end trips; view trip details and stops
StudentsView assigned students, mark boarding/alighting per stop
IncidentsReport vehicle breakdowns, traffic jams, accidents
ProfileView profile, change PIN

Key Architecture Decisions

  • Real-time location updates — driver location pushed via REST batch endpoint; Socket.IO used for live map markers on parent/tracking side
  • Trip state machine — trips transition through scheduledin_progresspaused/resumedcompleted/cancelled
  • Offline-first — location updates queued locally when offline, flushed on reconnect via batchLocations
  • No evaluation mode — driver app is write-heavy by nature, all actions are always enabled