How ilittleangel/cgm-remote-monitor works
Nightscout is a web-based CGM monitor: a server reads glucose and treatment data from MongoDB, exposes APIs and live updates, and caregiver-facing clients visualize readings, predictions, reports, and alarms. The graph separates server/API access, client visualization and plugins, reporting, and administration/realtime services. Some key modules are indexed but unsampled; edges are limited to README statements or relationships visible in excerpts and the source index, so internal data paths not shown there are omitted.
Main entry points: client/index.js Monitor Client · app.js Web App · plugins/index.js Plugin Registry · report_plugins/index.js Report Plugins
Components 24
Server and APIs
- Server Process
lib/server/server.js - Web App
lib/server/app.js - REST API
lib/api/index.js - API v2
lib/api2/index.js - API v3
lib/api3/index.js
Caregiver Monitor
- Monitor Client
lib/client/index.js - Client Data
lib/data/ddata.js - Chart Renderer
lib/client/renderer.js - Browser Settings
lib/client/browser-settings.js - Plugin Registry
lib/plugins/index.js - Forecast Plugins
lib/plugins/ar2.js - Loop Integration
lib/plugins/loop.js - OpenAPS Integration
lib/plugins/openaps.js
Reports
- Report Client
lib/report/reportclient.js - Report Plugins
lib/report_plugins/index.js - Daily Reports
lib/report_plugins/daytoday.js - Glucose Distribution
lib/report_plugins/glucosedistribution.js - Loop Analysis
lib/report_plugins/loopalyzer.js
Realtime and Admin
- Storage Updates
lib/api3/storageSocket.js - Authorization
lib/authorization/index.js - Auth Storage
lib/authorization/storage.js - Admin Actions
lib/admin_plugins/index.js
Other components
- Caregivers
- MongoDB
Connections 23
- Caregivers → Web App: view monitor
README.md - Server Process → Web App: starts
lib/server/server.js - Web App → REST API: mounts routes
lib/server/app.js - Web App → API v2: mounts routes
lib/server/app.js - Web App → API v3: mounts routes
lib/server/app.js - Server Process → MongoDB: reads CGM data
README.md - Monitor Client → REST API: requests status
lib/client/index.js - Monitor Client → Client Data: uses data model
lib/client/index.js - Monitor Client → Chart Renderer: renders monitor
lib/client/index.js - Monitor Client → Browser Settings: loads settings
lib/client/index.js - Monitor Client → Plugin Registry: runs plugins
lib/client/index.js - Plugin Registry → Forecast Plugins: registers
lib/plugins/index.js - Plugin Registry → Loop Integration: registers
lib/plugins/index.js - Plugin Registry → OpenAPS Integration: registers
lib/plugins/index.js - Report Client → Report Plugins: loads reports
lib/report_plugins/index.js - Report Plugins → Daily Reports: registers
lib/report_plugins/index.js - Report Plugins → Glucose Distribution: registers
lib/report_plugins/index.js - Report Plugins → Loop Analysis: registers
lib/report_plugins/index.js - API v3 → Storage Updates: initializes
lib/api3/index.js - Storage Updates → Authorization: checks access
lib/api3/storageSocket.js - Authorization → Auth Storage: uses storage
lib/authorization/index.js - Auth Storage → MongoDB: queries records
- Admin Actions → Caregivers: offers admin actions