{
  "schemaVersion": "1.0",
  "project": {
    "id": "order-platform",
    "name": "Order Platform",
    "groupId": "com.acme.order",
    "javaVersion": 21,
    "architecture": "hexagonal-modulith"
  },
  "modules": [
    {
      "id": "order-domain",
      "type": "domain",
      "dependsOn": []
    },
    {
      "id": "order-application",
      "type": "application",
      "dependsOn": [
        "order-domain"
      ]
    },
    {
      "id": "order-adapter-web",
      "type": "adapter",
      "dependsOn": [
        "order-application"
      ]
    },
    {
      "id": "order-adapter-persistence",
      "type": "adapter",
      "dependsOn": [
        "order-application"
      ]
    },
    {
      "id": "order-bootstrap",
      "type": "bootstrap",
      "dependsOn": [
        "order-adapter-web",
        "order-adapter-persistence"
      ]
    }
  ],
  "apis": [
    {
      "id": "orders-api",
      "style": "REST",
      "path": "/api/v1/orders",
      "operations": [
        "createOrder",
        "getOrder"
      ]
    }
  ],
  "events": [
    {
      "id": "OrderCreated",
      "topic": "orders.v1",
      "producer": "order-application",
      "consumers": [
        "fulfillment"
      ]
    }
  ],
  "deployments": [
    {
      "id": "order-service",
      "image": "acme/order-platform:1.0.0",
      "replicas": 2,
      "port": 8080
    }
  ],
  "quality": {
    "archUnit": true,
    "testcontainers": true,
    "sbom": true,
    "coverageMinimum": 80
  }
}