Review tallyflow-assets-iot (TallyFlow Scout v0.5.3): Collect, Verify, Locate with Edge remote reader / offline CSV locate. Clarify Scout does not replace Core Assets. Refresh Edge, Print parent-container and multi- unit identity notes, Capture share/offline/barcode notes, architecture, use cases, capabilities, and website drafts after src/ repo pulls.
62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# TallyFlow Architecture
|
||
|
||
**Diagram:** [[TallyFlow-Architecture-Diagram.html]]
|
||
|
||
## Overview
|
||
|
||
TallyFlow is built around **Core** as the central hub that owns the database, plus field and site modules. **Scout** is an Edge companion handheld, not a sixth Core-connected peer equal to Assets.
|
||
|
||
### 1. Core (Central)
|
||
- **Core Backend** (Go) positioned in the center — provides the REST API
|
||
- **Core Web UI** (Vue.js) on the left — consumes the Core API
|
||
- **Auth Service** — handles login and SSO support
|
||
- Owns MongoDB (assets, tags, photos, zones, events)
|
||
- Single API integration point for Core-connected components
|
||
- Handles configuration, reporting, and orchestration
|
||
|
||
### 2. Assets (Mobile)
|
||
- Flutter native mobile application (`tallyflow_mobile`)
|
||
- Lightweight inventory, geiger-style seek & find, enrollment, zone moves, **scan-and-print**
|
||
- Communicates with **Core** via REST/WebSocket API
|
||
- **Not the same product as Scout**
|
||
|
||
### 3. Print
|
||
- Flutter + Rust implementation
|
||
- Zebra ZPL-compatible label printing and RFID encoding
|
||
- Includes **Print UI** for configuration
|
||
- Can also be driven directly via the **Print API**
|
||
- **Can register assets directly with Core**
|
||
- Parent container EPC namespace (SDG RAIN assignment 8000); multi-unit retail companion AI 21; register preflight against duplicate identities
|
||
|
||
### 4. Capture (PhotoTag)
|
||
- Native mobile applications (iOS/Android) + web
|
||
- Associates photos with barcodes, work orders, and metadata
|
||
- Focused on quality control and visual documentation
|
||
- Public share collections on web (controlled external access)
|
||
- Sends data to Core via API where deployed
|
||
|
||
### 5. Edge
|
||
- Rust-based site edge service (repo `tallyflow-iot`; **product name TallyFlow Edge**)
|
||
- Fixed RFID readers (Impinj, Zebra, ATID ATF862 / Invengo XC-RF861 where supported)
|
||
- Remote reader REST API for handhelds
|
||
- Unified multi-reader feed → CSV / REST / AMQP → Core (optional)
|
||
- Keyboard wedge, ops UI, MCP read tools
|
||
- **Can integrate with ERP systems** without requiring Core
|
||
|
||
### 6. Scout (Edge companion handheld)
|
||
- Flutter app **TallyFlow Scout** (repo `tallyflow-assets-iot`)
|
||
- **Collect / Verify / Locate**
|
||
- Submits to **Edge** remote reader API (or CSV offline); Locate works offline
|
||
- **Does not replace Assets** and does not talk to Core as the asset app
|
||
|
||
**MongoDB** is not a standalone component — it is fully owned and managed inside Core.
|
||
|
||
## Data Flows
|
||
- **Assets, Print, Capture** → Core: Solid lines (primary Core flows)
|
||
- **Scout** → **Edge**: Solid (remote reader / site feed)
|
||
- **Edge → Core**: Dashed line (optional, event-driven AMQP/etc.)
|
||
- **Print** additionally supports asset registration back into Core
|
||
- Core Web UI communicates with Core Backend via the same API used by other Core clients
|
||
|
||
Core-connected modules interact through Core’s REST API layer. Edge/Scout may operate standalone for site RFID programs.
|