Files
hiveops-guide/backend/src/main/resources/content/platform/module-map/overview.md
T
johannes 09fb6fc580 content(guide): internal platform architecture guides (DRAFT, Refs #1)
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.
2026-07-01 07:57:20 -04:00

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".