Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Dispatch

QR-based field-work supervision. A supervisor dispatches tasks and issues QR codes; field agents scan them on site to confirm work, and their live GPS location is reported back in real time. Built as a single monorepo with two Flutter apps sharing one Firebase backend.

Flutter Dart Firebase License


How it works

 Supervisor                      │   Firebase (Realtime DB)     │   Field agent
 --------------------------------┼──────────────────────────────┼──────────────────
 qr-generator ── creates QR ────►│                              │
 user mgmt ──── assigns tasks ──►│─────────────────────────────►│  login
 live map ◄────── locations ◄────│◄───── GPS stream ◄───────────│  background svc
 🔔 task-done notification ◄─────│◄───── scan + mark done ◄─────│  QR scanner

admin issues the work, client confirms it happened, and everyone sees it live.

Monorepo layout

Dispatch/
├── client/   🧭 Field-agent app
│   ├── lib/
│   │   ├── screens/   login, dashboard (map), tasks, QR scanner, about, lock-check
│   │   └── utils/     permissions, location service, telegram logger, battery handler
│   └── android/ · ios/ · linux/ · macos/ · web/ · windows/
└── admin/    🎛️ Supervisor dashboard
    ├── lib/
    │   ├── models/    user + task
    │   ├── screens/   dashboard (live users), QR generator, users mgmt, tasks
    │   └── …          about, live location, profile edit, lock-check
    └── android/ · ios/ · macos/ · web/ · windows/

The two apps

🧭 client — the field agent's scanner

  • Login against Firebase Realtime DB (username/password).
  • QR scanner (mobile_scanner) confirms work on site; completion writes back to Firebase immediately.
  • Live location streamed to a Flutter Map on the dashboard.
  • Runs in the background — keeps the screen awake, fires local notifications, and pings a Telegram logger with activity.
  • Graceful permission, battery-optimization, and background-service handling.

🎛️ admin — the supervisor's dashboard

  • QR generator (qr_flutter) produces scannable codes for new agents / sites — name, location, phone, category.
  • User management creates accounts and assigns named tasks.
  • Live dashboard watches every user on a map.
  • Instant alerts — a local notification fires the moment an agent marks a task done.

Stack

Layer Tool
Clients Flutter / Dart
Backend Firebase Realtime Database (wirya-qr project)
Mapping flutter_map + latlong2 / geolocator
QR mobile_scanner (client) · qr_flutter (admin)
Ops flutter_background_service, wakelock_plus, Telegram logger

Getting started

Each app is a standard Flutter project and builds independently:

# 🧭 field agent app
cd client
flutter pub get
flutter run

# 🎛️ supervisor app
cd admin
flutter pub get
flutter run

Firebase config (project wirya-qr) lives in each app's lib/firebase_options.dart and firebase.json.

License

MIT © 2026 ammar0xff

About

QR-based field work supervision: worker client app (scans, reports location/tasks) + admin dashboard (issues QR codes, manages users, live map).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages