Files
obsidian/TallyFlow/TallyFlow-Architecture.md
T
TNB d329f89c0f Update architecture diagram per feedback
- Core Backend centered, Core Web UI moved to left (uses API)
- Print now shows it can register assets with Core
- IoT card includes ERP integration bullet
- Updated diagram layout, connections, and description
2026-07-07 09:30:01 -04:00

48 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TallyFlow Architecture
**Diagram:** [[TallyFlow-Architecture-Diagram.html]]
## Overview (5 Components)
TallyFlow is built around exactly **five primary components**, with **Core** as the central hub that owns the database.
### 1. Core (Central)
- **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
### 2. Assets (Mobile)
- Flutter native mobile application
- Lightweight inventory, geiger-style seek & find, enrollment, zone moves
- Communicates with Core via REST/WebSocket API
### 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**
### 4. Capture (PhotoTag)
- Native mobile application (not Go/Vue)
- Associates photos with barcodes, work orders, and metadata
- Focused on quality control and visual documentation
- Sends data to Core via API
### 5. IoT
- 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 flows)
- **IoT → Core**: Dashed line (optional, event-driven)
- **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 Cores API layer.