{
  "config": {},
  "specification": {
    "elements": {
      "actor": {
        "notation": "Actor"
      },
      "database": {
        "notation": "Database"
      },
      "frontend": {
        "notation": "Frontend",
        "container": true
      },
      "repository": {
        "notation": "Repository",
        "container": true
      },
      "service": {
        "notation": "Service",
        "container": true
      },
      "system": {
        "notation": "Software System",
        "container": true
      }
    },
    "relationships": {
      "rest": {
        "notation": "REST"
      },
      "sql": {
        "notation": "SQL",
        "dashed": true
      },
      "uses": {
        "notation": "uses"
      }
    }
  },
  "model": {
    "customer": {
      "kind": "actor",
      "title": "Customer"
    },
    "shop": {
      "kind": "system",
      "title": "Online Shop",
      "description": "E-Commerce Plattform",
      "children": {
        "api": {
          "kind": "service",
          "title": "Order Service",
          "technology": "Go"
        },
        "db": {
          "kind": "database",
          "title": "PostgreSQL",
          "technology": "PostgreSQL"
        },
        "orderrepo": {
          "kind": "repository",
          "title": "Order Repo",
          "technology": "Go"
        },
        "web": {
          "kind": "frontend",
          "title": "Web Frontend",
          "technology": "React"
        }
      }
    }
  },
  "relationships": [
    {
      "from": "customer",
      "to": "shop",
      "label": "kauft ein",
      "kind": "uses"
    },
    {
      "from": "shop.web",
      "to": "shop.api",
      "label": "POST /orders",
      "kind": "rest"
    },
    {
      "from": "shop.api",
      "to": "shop.orderrepo",
      "label": "save(order)",
      "kind": "uses"
    },
    {
      "from": "shop.orderrepo",
      "to": "shop.db",
      "label": "INSERT",
      "kind": "sql"
    },
    {
      "from": "shop",
      "to": "paymentservice",
      "label": "charge(amount)"
    },
    {
      "from": "shop",
      "to": "authservice",
      "label": "authenticate"
    }
  ],
  "views": {
    "containers": {
      "title": "Schichtenarchitektur",
      "scope": "shop",
      "include": [
        "shop.*"
      ]
    },
    "context": {
      "title": "System Context",
      "include": [
        "customer",
        "shop"
      ]
    }
  }
}