Skip to content
Structurizr DSL templates

IoT ingest platform

Edge devices → MQTT broker → ingest → time-series database → dashboards. The classic IoT shape, in C4.

Template previewStructurizr DSL
Rendering…

Make it your own.

workspace "IoT Telemetry" {
  model {
    operator = person "Operator"

    iot = softwareSystem "Telemetry Platform" {
      broker    = container "MQTT Broker"     "EMQX"
      ingest    = container "Ingest Service"  "Go"
      tsdb      = container "Time-series DB"  "TimescaleDB" "Database"
      api       = container "Query API"       "Go"
      dashboard = container "Dashboard"       "React"
    }

    devices = softwareSystem "Field Devices" "Industrial sensors over MQTT."

    devices -> broker "Publishes telemetry"
    broker  -> ingest "Subscribes to topics"
    ingest  -> tsdb   "Batched writes"
    api     -> tsdb   "Range queries"
    dashboard -> api  "JSON / HTTPS"
    operator  -> dashboard "Monitors fleet"
  }

  views {
    container iot {
      include *
      autoLayout
    }
    theme default
  }
}