Skip to content

PRD: Device signal & notifications

ModuleDevicePRD IDPRD-MON-001
StatusReady to devFEATMON
EpicPlaneBANA-1540
Date2026-07-17Versionv0.2
Packages@nx/commerce · @nx/signalURDMON
SurfaceBackend
OwnerPhát Nguyễn

A server-side real-time notification backbone

A server-side activity-notification backbone: a worker resolves the right recipients within an organizer/merchant scope, persists a notification, and pushes it live to connected clients - with a fetch / mark-read interface behind the bell UI. Two caveats today: the ingest consumer is built but no producer feeds it, so the pipeline isn't exercised end-to-end; and the one live use case so far (inquiry-submitted) runs over a separate outreach WebSocket that bypasses the pipeline and persists nothing.

The problem this increment solves

Device Health Monitoring & Notifications (MON) needs the platform to capture activity and surface it to administrators in near real time. Today there is no server-side notification backbone: events happen across the platform, but nothing fans them out to the right users or pushes them to a live UI, so administrators cannot watch activity as it happens.

This increment builds that backbone in the real-time signal layer - an end-to-end pipeline (ingest event → worker → persisted record → live push) with recipient resolution scoped to an organizer/merchant and a stable real-time transport. Monitoring and activity surfacing ride on that transport; heartbeat / health-status reporting (URD-MON-001/002) and remote device actions (URD-MON-004/005) are tracked separately. This is also the channel PRD-DEV-001's fault-notification alert would ride on, once it gets a first producer.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.