docs: Scout re-review to v0.6.2+14
Refresh product strategy, code review, User's Guide, and Dashboard after latest tallyflow-assets-iot pull: Edge optional toggle, tag decode sheet, Locate hit indicator, Collect clear/sort, SDG RAIN CIN filter fix.
This commit is contained in:
@@ -13,7 +13,7 @@ This note will contain ongoing code review findings across the TallyFlow ecosyst
|
||||
- [x] tallyflow-print (print/encoding backend)-ui
|
||||
- [x] tallyflow_spreadsheet_importer (Flutter spreadsheet import tool)
|
||||
- [x] flutter_tallyflow_iot_rest_client (Flutter REST client for Edge)
|
||||
- [x] tallyflow-assets-iot (**product: TallyFlow Scout**; Collect/Verify/Locate for Edge) — [[tallyflow-scout]]
|
||||
- [x] tallyflow-assets-iot (**product: TallyFlow Scout**; Collect/Verify/Locate for Edge) — [[tallyflow-scout]] (re-reviewed 2026-07-30 → v0.6.2+14)
|
||||
|
||||
## General Observations
|
||||
(Notes will be added here as review progresses)
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
**Product name:** TallyFlow Scout
|
||||
**Package:** `tallyflow_scout`
|
||||
**Version reviewed:** 0.5.3+10 (master `2c479fb`, July 2026)
|
||||
**Tech stack:** Flutter (Material 3), `flutter_hardware_scanner`, optional camera barcode (ML Kit), HTTP client to Edge
|
||||
**Version reviewed:** **0.6.2+14** (master `0e37633`, 2026-07-30)
|
||||
**Prior review:** 0.5.3+10 (`2c479fb`, 2026-07-27)
|
||||
**Tech stack:** Flutter (Material 3), `flutter_hardware_scanner` ^0.14 prerelease, camera barcode (ML Kit), `sgtin` (path), HTTP client to Edge
|
||||
|
||||
## Role in platform
|
||||
|
||||
@@ -12,32 +13,57 @@ Handheld **Collect / Verify / Locate** app for **TallyFlow Edge**.
|
||||
|
||||
## Destinations
|
||||
|
||||
1. **Collect** (nav key still `navUpdate` in l10n) — scan list, submit to Edge remote reader API or export CSV
|
||||
1. **Collect** (nav key still `navUpdate` in l10n → “Collect”) — scan list, submit to Edge remote reader API or export CSV
|
||||
2. **Verify** — GS1 barcode identity vs RFID EPC encodings (`gs1_verify_match`); optional auto-confirm
|
||||
3. **Locate** — offline seek-and-find / geiger (`locate_screen`, RSSI colors aligned with Assets pick-list palette)
|
||||
3. **Locate** — offline seek-and-find / geiger (`locate_screen`, RSSI colors aligned with Assets pick-list palette); continuous hit indicator when any tags are in field
|
||||
|
||||
## Delta since 0.5.3 (marketing-relevant)
|
||||
|
||||
| Area | Change |
|
||||
|------|--------|
|
||||
| **Edge optional** | Settings `useTallyFlowEdge` — when off, no health checks / submits; CSV & floor tools only (`edgeActive`) |
|
||||
| **Tag decode sheet** | Tap row → GS1 EPC-96 / SDG RAIN CIN / barcode GS1 AIs; RFID can open Locate |
|
||||
| **Collect list** | Overflow menu: clear list; sort by value or RSSI (plus default recent) |
|
||||
| **Locate UX** | Hit counter/lamp stays visible while tags are in the field (not only focused finds) |
|
||||
| **Audio** | `RfidBeepGate` serializes driver beep vs Locate geiger mute |
|
||||
| **Decode/filter** | SDG RAIN CIN filter fixed (`D3C4C753` EPC prefix) |
|
||||
| **Branding** | Simpler app icon / splash assets |
|
||||
| **Settings UX** | Sheet height capped (~80%); shorter help copy |
|
||||
| **Hardware** | Stronger URFID vs ATID AAR conflict handling note in tree |
|
||||
|
||||
## Integration
|
||||
|
||||
- Client: `lib/services/tallyflow_iot_client.dart` → `{baseUrl}/api/v1/health`, `/reader/barcode`, `/reader/rfid`
|
||||
- Remote reader must exist on Edge (`type = remote`, enabled); reader name must match Settings
|
||||
- Offline: Collect + CSV + Locate without server; banner when Edge unreachable
|
||||
- Offline / Edge-off: Collect + CSV + Locate without server; banner only when Edge enabled and unreachable / unconfigured
|
||||
|
||||
## Hardware
|
||||
|
||||
- Android industrial devices via hardware scanner plugin (XR2, ATID AARs, SEUIC, URFID noted in tree)
|
||||
- Camera barcode fallback when no hardware scanner / init failure
|
||||
- Desktop: simulator always on
|
||||
- applicationId: `com.tallyflow.scout`
|
||||
|
||||
## Notable modules
|
||||
|
||||
- `epc_mask.dart`, `sdg_rain_decode.dart` — EPC type / Internal part decode
|
||||
- `scan_csv_exporter.dart` — CSV share/save
|
||||
- `tag_decode_sheet.dart` — decode UI + `TagDecodeDetails.resolveRfid` / `resolveBarcode`
|
||||
- `epc_mask.dart`, `sdg_rain_decode.dart` — EPC type / Internal part decode (CIN filter fix)
|
||||
- `rfid_beep_gate.dart` — Locate mute vs inventory beep
|
||||
- `scan_csv_exporter.dart` / `scan_csv_export.dart` — CSV share/save
|
||||
- `rssi_display.dart` — shared RSSI presentation
|
||||
- `l10n` — English + Spanish
|
||||
- Tests cover EPC mask, GS1 verify match, locate finds, CSV export, symbology filter
|
||||
- Tests: EPC mask, GS1 verify, locate finds, CSV, symbology, tag decode, useTallyFlowEdge, rfid beep gate, power slider
|
||||
|
||||
## Marketing guardrails
|
||||
|
||||
- Say **Scout works with Edge**; **Assets works with Core**
|
||||
- Three sections only: Collect, Verify, Locate
|
||||
- Locate offline is a real differentiator for floor find without Core
|
||||
- Locate offline + optional Edge-off are real differentiators for floor find without Core
|
||||
- Decode sheet is operator convenience, not a full GS1 stack / compliance product
|
||||
- Do not claim full asset CRUD, zones, or scan-and-print in Scout
|
||||
|
||||
## Follow-ups (docs/code debt)
|
||||
|
||||
- Repo README still under-lists Verify / decode / Edge toggle; version footer stale
|
||||
- `part_serial` assignment-match flags currently unused by decode path (reserved)
|
||||
- Cross-app symbology story still open (README technical debt section)
|
||||
|
||||
@@ -108,13 +108,14 @@ Site edge service for fixed and remote RFID/barcode readers. Runs as an always-o
|
||||
- Compatible with Core in cloud or on-premises, or standalone without Core
|
||||
|
||||
### 6. TallyFlow Scout
|
||||
Handheld Flutter app for **Edge** floors (`tallyflow-assets-iot`). **Does not replace TallyFlow Assets.**
|
||||
Handheld Flutter app for **Edge** floors (`tallyflow-assets-iot`, app v0.6.x). **Does not replace TallyFlow Assets.**
|
||||
|
||||
**Three sections:**
|
||||
- **Collect** — scan barcode/RFID; submit to Edge as a remote reader, or export CSV offline
|
||||
- **Verify** — GS1 barcode vs RFID EPC identity match (SGTIN/SSCC/GRAI/GIAI-style)
|
||||
- **Locate** — seek-and-find by EPC/GTIN/part with geiger feedback; works offline without Edge
|
||||
- **Collect** — scan barcode/RFID; submit to Edge as a remote reader, or export CSV when Edge is offline/disabled; list clear/sort; tap a row for tag decode (GS1 / SDG RAIN / barcode AIs)
|
||||
- **Verify** — GS1 barcode vs RFID EPC identity match (SGTIN/SSCC/GRAI/GIAI-style); optional auto-confirm
|
||||
- **Locate** — seek-and-find by EPC/GTIN/part with geiger feedback and in-field hit indicator; works offline without Edge
|
||||
|
||||
**Settings:** optional **Use TallyFlow Edge** toggle (CSV/demo without health checks when off).
|
||||
**Hardware:** Industrial Android scanners (e.g. Janam XR2, ATID, SEUIC, URFID); camera barcode fallback; desktop simulator for demos. EN/ES UI.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user