{
  // Teil 25: Migration — Aus draw.io/PlantUML/Structurizr importiertes und bereinigtes Modell
  "specification": {
    "elements": {
      "actor":     { "notation": "Actor" },
      "system":    { "notation": "Software System", "container": true },
      "container": { "notation": "Container",        "container": true },
      "database":  { "notation": "Database" }
    },
    "relationships": {
      "uses":  { "notation": "uses"  },
      "reads": { "notation": "reads", "dashed": true }
    }
  },
  "model": {
    "customer": { "kind": "actor", "title": "Customer" },
    "shop": {
      "kind": "system", "title": "Online Shop (migriert aus Structurizr)",
      "description": "Nach Migration von Structurizr DSL",
      "children": {
        "frontend":   { "kind": "container", "title": "Web Frontend",   "technology": "React"      },
        "backend":    { "kind": "container", "title": "Spring Backend", "technology": "Java/Spring" },
        "db":         { "kind": "database",  "title": "MySQL",          "technology": "MySQL"       }
      }
    },
    "legacy-erp": {
      "kind": "system", "title": "Legacy ERP",
      "description": "Altes ERP-System (aus draw.io-Diagramm migriert)"
    }
  },
  "relationships": [
    { "from": "customer",      "to": "shop",          "label": "kauft ein",    "kind": "uses"  },
    { "from": "shop.frontend", "to": "shop.backend",  "label": "HTTP calls",   "kind": "uses"  },
    { "from": "shop.backend",  "to": "shop.db",       "label": "reads/writes", "kind": "uses"  },
    { "from": "shop.backend",  "to": "legacy-erp",    "label": "sync orders",  "kind": "reads" }
  ],
  "views": {
    "context":    { "title": "Context (nach Migration)", "include": ["customer", "shop", "legacy-erp"] },
    "containers": { "title": "Container View",           "scope": "shop", "include": ["shop.*"] }
  }
}
