diff --git a/TallyFlow/TallyFlow-Architecture-Diagram.html b/TallyFlow/TallyFlow-Architecture-Diagram.html index 35f994a..1c22b13 100644 --- a/TallyFlow/TallyFlow-Architecture-Diagram.html +++ b/TallyFlow/TallyFlow-Architecture-Diagram.html @@ -80,99 +80,102 @@ - - TallyFlow Core (Central Hub) + + TallyFlow Core (Central Hub) - - - Core Backend - Go (Echo / gRPC) - REST + WebSocket API + + + Core Web UI + Vue.js 2 + Uses Core API - - - Core Web UI - Vue.js 2 - Asset mgmt, reporting, config + + + Core Backend + Go (Echo / gRPC) + REST + WebSocket API - - - MongoDB - Assets • Tags - Photos • Zones + + + MongoDB + Assets • Tags • Photos • Zones + (owned by Core Backend) - Core API Layer (single integration point for all 5 components) + Core API Layer — single integration point for all components - - Assets - (Mobile) - Flutter - Seek & Find • Inventory • Enrollment + + Assets + (Mobile) + Flutter + Seek & Find • Inventory • Enrollment - - Print - Flutter + Rust - Zebra ZPL • RFID - Print UI + Print API + + Print + Flutter + Rust + Zebra ZPL • RFID + Print UI + Print API • Can register assets - - Capture - (PhotoTag) - Native App - Photo + Barcode QC + + Capture + (PhotoTag) + Native App + Photo + Barcode QC - - IoT - Rust - Fixed Readers • Sensors - MQTT / HTTP / BLE + + IoT + Rust + Fixed Readers • Sensors + MQTT / HTTP / BLE • ERP integration - - API Sync + + API Sync - - - Print Jobs / Config + + + Print Jobs + Asset Reg - - Photos + Metadata + + Photos + Metadata - - Events (optional) + + Events (optional) - - + + + + + - Legend + Legend - - Core (Go + Vue.js + MongoDB) + + Core (Go + Vue.js + MongoDB) - - Assets (Flutter) + + Assets (Flutter) - - Print (Flutter/Rust + UI) + + Print (Flutter/Rust + UI) - - Capture (Native) + + Capture (Native) - - IoT (Rust) + + IoT (Rust) - - Optional flow + + Optional flow @@ -183,10 +186,10 @@

Core (Central)

    -
  • • Go backend + Vue.js Web UI
  • +
  • • Go backend (center) + Vue.js Web UI (left)
  • • Owns MongoDB (assets, tags, photos, zones)
  • • Single API integration point
  • -
  • • Configuration & reporting hub
  • +
  • • Web UI also consumes the Core API
@@ -210,7 +213,7 @@
  • • Flutter + Rust
  • • Zebra ZPL + RFID encoding
  • • Print UI for configuration
  • -
  • • Or direct Print API usage
  • +
  • • Print API + can register assets with Core
  • @@ -235,12 +238,13 @@
  • • Fixed readers (Impinj/Zebra)
  • • Sensors (location, temp, shock)
  • • Optional dashed flow to Core
  • +
  • • Can integrate with ERP systems
  • diff --git a/TallyFlow/TallyFlow-Architecture.md b/TallyFlow/TallyFlow-Architecture.md index 6fcdff3..4602366 100644 --- a/TallyFlow/TallyFlow-Architecture.md +++ b/TallyFlow/TallyFlow-Architecture.md @@ -7,7 +7,8 @@ TallyFlow is built around exactly **five primary components**, with **Core** as the central hub that owns the database. ### 1. Core (Central) -- Go backend + Vue.js Web UI +- **Core Backend** (Go) positioned in the center +- **Core Web UI** (Vue.js) on the left — consumes the Core API - Owns MongoDB (assets, tags, photos, zones, events) - Single API integration point for all other components - Handles configuration, reporting, and orchestration @@ -22,6 +23,7 @@ TallyFlow is built around exactly **five primary components**, with **Core** as - 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** ### 4. Capture (PhotoTag) - Native mobile application (not Go/Vue) @@ -33,12 +35,14 @@ TallyFlow is built around exactly **five primary components**, with **Core** as - Rust-based service - Integrates fixed RFID readers (Impinj, Zebra) and environmental sensors - Pushes tag events and sensor data to Core (optional / dashed connection) +- **Can integrate with ERP systems** **MongoDB** is not a standalone component — it is fully owned and managed inside Core. ## Data Flows -- **Assets, Print, Capture** → Core: Solid lines (primary, always-available flows) +- **Assets, Print, Capture** → Core: Solid lines (primary flows) - **IoT → Core**: Dashed line (optional, event-driven) -- Core Web UI and Print UI are shown as sub-elements within their respective components +- **Print** additionally supports asset registration back into Core +- Core Web UI communicates with Core Backend via the same API used by other components This structure was verified by reviewing the actual source repositories in `~/src/`. All external modules interact exclusively through Core’s API layer. \ No newline at end of file