Files
obsidian/TallyFlow/TallyFlow-Architecture.md
T
TNB 4497fabf22 Refine TallyFlow architecture to exactly 5 components
- MongoDB nested inside Core (no longer 6th component)
- IoT → Core connection is dashed (optional)
- Print includes Print UI + Print API note
- Capture shown as native app (not Go/Vue)
- Core Web UI and Print UI as differentiated sub-boxes
- Strict focus on the 5 components: Core, Assets, Print, Capture, IoT
2026-07-07 09:22:29 -04:00

44 lines
1.7 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)
- Go backend + Vue.js Web UI
- 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**
### 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)
**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)
- **IoT → Core**: Dashed line (optional, event-driven)
- Core Web UI and Print UI are shown as sub-elements within their respective components
This structure was verified by reviewing the actual source repositories in `~/src/`. All external modules interact exclusively through Cores API layer.