Files
obsidian/TallyFlow/TallyFlow-Architecture.md
T
TNB cf1e09e1c4 Rename product TallyFlow IoT → TallyFlow Edge across vault
Update product naming in docs, marketing, architecture, use cases,
and capabilities materials. Rename related notes, screenshot folder,
and marketing image filenames. Keep git/repo identifiers (e.g.
tallyflow-iot) and generic industry IoT language unchanged.
2026-07-27 15:48:08 -04:00

49 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 — 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 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. Edge
- Rust-based service
- Integrates fixed RFID readers (Impinj, Zebra, ATID ATF862 / Invengo XC-RF861 — same reader rebranded) 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)
- **Edge → 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
All external modules interact exclusively through Cores REST API layer.