Skip to main content

System Overview

STATUS is a compliance and governance monitoring system built with a microservices architecture using Docker containers. The infrastructure supports two deployment modes (development and production) and integrates multiple specialized services for data management, workflow automation, monitoring, and API services.

Key Features

  • Microservices Architecture: Modular design with independent, scalable services
  • Dual Deployment Modes: Development (local build) and Production (registry images)
  • Automated Workflows: Node-RED integration for business process automation
  • Real-time Monitoring: Grafana dashboards with PostgreSQL backend
  • High-performance Caching: Dragonfly (Redis-compatible) for session and data caching
  • Governance Integration: Governify director and registry services
  • Container Orchestration: Docker Compose for simplified deployment

Technology Stack

LayerTechnologies
FrontendReact, Vite, Nginx (production)
BackendNode.js, Express
Workflow AutomationNode-RED
DatabasesPostgreSQL, MongoDB
CachingDragonfly (Redis-compatible)
MonitoringGrafana
GovernanceGovernify (Director + Registry)
Reverse ProxyNginx (production only)
OrchestrationDocker Compose

High-Level Architecture

Network Architecture

The infrastructure uses three isolated Docker networks for security and performance:

1. web_network

  • Purpose: Frontend, backend, and proxy communication
  • Connected Services: status-frontend, status-backend, reverse-proxy, nodered, grafana

2. db_network

  • Purpose: Database services communication
  • Connected Services: status-backend, postgres, grafana, dragonfly, director, registry, mongo-registry

3. nodered_network

  • Purpose: Node-RED integration network
  • Connected Services: status-backend, nodered

Network Isolation Benefits

  • Security: Services only communicate on required networks
  • Performance: Reduced broadcast domain size
  • Maintenance: Easier to troubleshoot and update individual networks
  • Scalability: Networks can be independently scaled

Deployment Modes

Development Mode

  • Builds images from local source code
  • No reverse proxy (direct port access)
  • Hot reload support
  • Environment: NODE_ENV=development
  • Frontend: http://localhost:3000
  • Backend: http://localhost:3001

Production Mode

  • Uses pre-built images from container registries
  • Includes Nginx reverse proxy
  • Optimized for performance
  • Environment: NODE_ENV=production
  • All services accessible through: http://localhost:3000

Service Dependencies