09fb6fc580
Internal (audience:internal) guides capturing the HiveIQ architecture that caused repeated mistakes: data-architecture (executor/Kafka/record-store), service-ownership, deployment topology, auth/JWT, git workflow, module map. For admins + Claude's reference.
2.8 KiB
2.8 KiB
module, title, tab, order, audience
| module | title | tab | order | audience |
|---|---|---|---|---|
| platform.module-map | Module Map (what each app does + its data source) | Overview | 60 | internal |
DRAFT · internal (2026-07-01). Ports/routes from CLAUDE.md; expand + verify per module. When a "tab is empty / data missing" report comes in, start from this map: know the intended behaviour and the data source, then diagnose the product, don't investigate whether data "happens to exist."
| App (URL) | Purpose | Backend / data source | Gotchas |
|---|---|---|---|
| fleet (fleet.bcos.*) | Deploy hotfix/software/agent to ATMs; task execution | fleet backend :8097 — executor only, publishes to Kafka | history is in the devices record store, not fleet; /fleet/tasks empty by design |
| devices (devices.bcos.*) | ATM records, properties, config changes, per-device task history | devices backend (frontend calls legacy /incident/... route) |
/api/atms/{id}/fleet-tasks is the device task record store; publishes hiveops.device.events |
| incident | Incident create/resolve/auto-close; journal-event ingest | incident backend :8081 | 32-issue auto-close/resolve cluster = few root causes |
| transactions | Transaction browser, customer journey | reads journal/incident data | — |
| recon | Cash reconciliation | recon backend :8091; device_summary mirror |
LACA NCR-8800 parser specifics |
| reports | Report builder, scheduling, CSV | reports backend :8088; device_summary mirror |
— |
| analytics | Fleet dashboard analytics | analytics backend :8089 (stateless aggregation) | — |
| mgmt / msp | Institutions, users, allocations, app_modules |
mgmt backend :8080 (hiveiq_mgmt) |
menu items can be app_modules-driven (DB), not hardcoded |
| journal | Journal file storage + parsing | journal :8087; per-institution workers | DB_URL (full JDBC), not split host/port |
| guide (this app) | In-app help; markdown → API → tabbed slide-out | guide backend :8099 — markdown files, no DB | route needs hiveiq-guide-backend:8099 (port!) |
| agent-proxy | Agent-facing gateway (auth, fingerprints, proxy) | :8093/8015 | owns agent paths natively |
| ai / adoons | NL assistant (branded "Adoons" externally) | Spring AI; incident→ai Kafka | never say "AI" externally |
| vault / claims / aria / recon | CIT visits / loss recovery / threat intel | own backends | see per-project memory |
SW update flow (a worked "empty tab" case)
SW updates reach an ATM via (1) fleet SOFTWARE/SOFTWARE_INSTALL task, (2) QDS, or (3) agent self-update. The device SW-deploy history reads the devices record store. "No info in the SW Update tab" after a real fleet-task update ⇒ the tab is reading the wrong source or the record isn't captured — a product bug to fix, not "no data".