@eventcatalog/create-eventcatalog 4.3.3 → 4.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/templates/default/README-template.md +3 -2
  4. package/templates/default/_data/visualizer-layouts/domains-systems-context/catalog/1.0.0.json +31 -0
  5. package/templates/default/_data/visualizer-layouts/domains-systems-context/customer/1.0.0.json +23 -0
  6. package/templates/default/_data/visualizer-layouts/system-context-map/system-context-map/1.0.0.json +91 -0
  7. package/templates/default/_data/visualizer-layouts/systems-context/customer-management-system/1.0.0.json +23 -0
  8. package/templates/default/components/footer.astro +0 -1
  9. package/templates/default/domains/Catalog/entities/category/index.mdx +36 -0
  10. package/templates/default/domains/Catalog/entities/product/index.mdx +37 -0
  11. package/templates/default/domains/Catalog/entities/product-variant/index.mdx +35 -0
  12. package/templates/default/domains/Catalog/entities/search-document/index.mdx +35 -0
  13. package/templates/default/domains/Catalog/index.mdx +65 -0
  14. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-001-use-transactional-outbox/index.mdx +43 -0
  15. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-002-postgres-as-system-of-record/index.mdx +40 -0
  16. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-003-offload-async-work-to-worker/index.mdx +41 -0
  17. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/index.mdx +45 -0
  18. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/schema.sql +33 -0
  19. package/templates/default/domains/Catalog/systems/product-catalog-system/index.mdx +72 -0
  20. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/index.mdx +32 -0
  21. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/schema.json +41 -0
  22. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/index.mdx +32 -0
  23. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/schema.json +19 -0
  24. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/index.mdx +32 -0
  25. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/schema.json +42 -0
  26. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/index.mdx +29 -0
  27. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/schema.json +62 -0
  28. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/index.mdx +29 -0
  29. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/schema.json +29 -0
  30. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/index.mdx +29 -0
  31. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/schema.json +55 -0
  32. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/index.mdx +69 -0
  33. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/openapi.yml +219 -0
  34. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/index.mdx +32 -0
  35. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/schema.json +56 -0
  36. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductSearchPublisher/index.mdx +56 -0
  37. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductWorker/index.mdx +48 -0
  38. package/templates/default/domains/Catalog/systems/search-system/containers/search-index/index.mdx +39 -0
  39. package/templates/default/domains/Catalog/systems/search-system/flows/ProductSearchIndexing/index.mdx +130 -0
  40. package/templates/default/domains/Catalog/systems/search-system/index.mdx +66 -0
  41. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/index.mdx +44 -0
  42. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/openapi.yml +138 -0
  43. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/index.mdx +32 -0
  44. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/schema.json +108 -0
  45. package/templates/default/domains/Catalog/systems/search-system/services/SearchIndexer/index.mdx +54 -0
  46. package/templates/default/domains/Catalog/ubiquitous-language.mdx +54 -0
  47. package/templates/default/domains/Customer/entities/authentication-session/index.mdx +35 -0
  48. package/templates/default/domains/Customer/entities/customer-account/index.mdx +36 -0
  49. package/templates/default/domains/Customer/entities/customer-address/index.mdx +35 -0
  50. package/templates/default/domains/Customer/entities/customer-profile/index.mdx +33 -0
  51. package/templates/default/domains/Customer/index.mdx +67 -0
  52. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/index.mdx +43 -0
  53. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/schema.sql +14 -0
  54. package/templates/default/domains/Customer/systems/customer-management-system/index.mdx +60 -0
  55. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/index.mdx +32 -0
  56. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/schema.json +24 -0
  57. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/index.mdx +32 -0
  58. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/schema.json +29 -0
  59. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/index.mdx +29 -0
  60. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/schema.json +45 -0
  61. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/index.mdx +29 -0
  62. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/schema.json +42 -0
  63. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/index.mdx +72 -0
  64. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/openapi.yml +164 -0
  65. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/index.mdx +32 -0
  66. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/schema.json +47 -0
  67. package/templates/default/domains/Customer/systems/identity-provider/containers/user-directory/index.mdx +36 -0
  68. package/templates/default/domains/Customer/systems/identity-provider/index.mdx +54 -0
  69. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/index.mdx +32 -0
  70. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/schema.json +41 -0
  71. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/index.mdx +29 -0
  72. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/schema.json +33 -0
  73. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/index.mdx +59 -0
  74. package/templates/default/domains/Customer/ubiquitous-language.mdx +48 -0
  75. package/templates/default/domains/Fulfilment/entities/inventory-reservation/index.mdx +39 -0
  76. package/templates/default/domains/Fulfilment/entities/shipment/index.mdx +36 -0
  77. package/templates/default/domains/Fulfilment/entities/stock-item/index.mdx +36 -0
  78. package/templates/default/domains/Fulfilment/entities/warehouse-pick/index.mdx +35 -0
  79. package/templates/default/domains/Fulfilment/index.mdx +83 -0
  80. package/templates/default/domains/Fulfilment/systems/carrier/index.mdx +52 -0
  81. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierShippingAPI/index.mdx +40 -0
  82. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/index.mdx +29 -0
  83. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/schema.json +15 -0
  84. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/index.mdx +29 -0
  85. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/schema.json +13 -0
  86. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/index.mdx +29 -0
  87. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/schema.json +16 -0
  88. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/index.mdx +44 -0
  89. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/index.mdx +35 -0
  90. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/schema.sql +26 -0
  91. package/templates/default/domains/Fulfilment/systems/inventory-system/index.mdx +49 -0
  92. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/index.mdx +32 -0
  93. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/schema.json +14 -0
  94. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/index.mdx +29 -0
  95. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/schema.json +24 -0
  96. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/index.mdx +29 -0
  97. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/schema.json +24 -0
  98. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/index.mdx +67 -0
  99. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/index.mdx +32 -0
  100. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/schema.json +25 -0
  101. package/templates/default/domains/Fulfilment/systems/shipping-system/index.mdx +47 -0
  102. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/index.mdx +32 -0
  103. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/schema.json +26 -0
  104. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/index.mdx +40 -0
  105. package/templates/default/domains/Fulfilment/systems/shipping-system/services/ShippingAPI/index.mdx +40 -0
  106. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/index.mdx +35 -0
  107. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/schema.sql +21 -0
  108. package/templates/default/domains/Fulfilment/systems/warehouse-system/index.mdx +53 -0
  109. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/index.mdx +29 -0
  110. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/schema.json +13 -0
  111. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/index.mdx +44 -0
  112. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/index.mdx +29 -0
  113. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/schema.json +23 -0
  114. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/index.mdx +53 -0
  115. package/templates/default/domains/Fulfilment/ubiquitous-language.mdx +44 -0
  116. package/templates/default/domains/Ordering/entities/checkout-session/index.mdx +36 -0
  117. package/templates/default/domains/Ordering/entities/order/index.mdx +36 -0
  118. package/templates/default/domains/Ordering/entities/order-line/index.mdx +38 -0
  119. package/templates/default/domains/Ordering/entities/order-status-history/index.mdx +35 -0
  120. package/templates/default/domains/Ordering/flows/PlaceAnOrder/index.mdx +158 -0
  121. package/templates/default/domains/Ordering/index.mdx +70 -0
  122. package/templates/default/domains/Ordering/systems/checkout-system/flows/CheckoutSaga/index.mdx +101 -0
  123. package/templates/default/domains/Ordering/systems/checkout-system/index.mdx +57 -0
  124. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutAPI/index.mdx +53 -0
  125. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/index.mdx +32 -0
  126. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/schema.json +29 -0
  127. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/index.mdx +32 -0
  128. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/schema.json +37 -0
  129. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/index.mdx +59 -0
  130. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/index.mdx +39 -0
  131. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/schema.sql +24 -0
  132. package/templates/default/domains/Ordering/systems/order-management-system/flows/OrderCancellation/index.mdx +105 -0
  133. package/templates/default/domains/Ordering/systems/order-management-system/index.mdx +53 -0
  134. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/asyncapi.yml +233 -0
  135. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/index.mdx +32 -0
  136. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/schema.json +19 -0
  137. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/index.mdx +32 -0
  138. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/schema.json +55 -0
  139. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/index.mdx +29 -0
  140. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/schema.json +25 -0
  141. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/index.mdx +29 -0
  142. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/schema.json +21 -0
  143. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/index.mdx +29 -0
  144. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/schema.json +29 -0
  145. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/index.mdx +74 -0
  146. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/index.mdx +32 -0
  147. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/schema.json +64 -0
  148. package/templates/default/domains/Ordering/ubiquitous-language.mdx +53 -0
  149. package/templates/default/domains/Payments/entities/fraud-check/index.mdx +39 -0
  150. package/templates/default/domains/Payments/entities/payment/index.mdx +36 -0
  151. package/templates/default/domains/Payments/entities/payment-authorization/index.mdx +35 -0
  152. package/templates/default/domains/Payments/entities/refund/index.mdx +36 -0
  153. package/templates/default/domains/Payments/index.mdx +69 -0
  154. package/templates/default/domains/Payments/systems/fraud-detection/index.mdx +49 -0
  155. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/index.mdx +29 -0
  156. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/schema.json +22 -0
  157. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/index.mdx +29 -0
  158. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/schema.json +18 -0
  159. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/index.mdx +51 -0
  160. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/index.mdx +39 -0
  161. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/schema.sql +25 -0
  162. package/templates/default/domains/Payments/systems/payment-processing-system/index.mdx +53 -0
  163. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentAPI/index.mdx +51 -0
  164. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/index.mdx +29 -0
  165. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/schema.json +19 -0
  166. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/index.mdx +29 -0
  167. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/schema.json +20 -0
  168. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/index.mdx +66 -0
  169. package/templates/default/domains/Payments/systems/stripe/index.mdx +52 -0
  170. package/templates/default/domains/Payments/systems/stripe/services/StripePaymentsAPI/index.mdx +42 -0
  171. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/index.mdx +29 -0
  172. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/schema.json +16 -0
  173. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/index.mdx +29 -0
  174. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/schema.json +15 -0
  175. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/index.mdx +29 -0
  176. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/schema.json +14 -0
  177. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/index.mdx +44 -0
  178. package/templates/default/domains/Payments/ubiquitous-language.mdx +41 -0
  179. package/templates/default/domains/Reviews/asyncapi.yml +181 -0
  180. package/templates/default/domains/Reviews/containers/rating-cache/index.mdx +29 -0
  181. package/templates/default/domains/Reviews/containers/review-database/index.mdx +33 -0
  182. package/templates/default/domains/Reviews/entities/moderation-decision/index.mdx +38 -0
  183. package/templates/default/domains/Reviews/entities/rating-summary/index.mdx +35 -0
  184. package/templates/default/domains/Reviews/entities/review/index.mdx +63 -0
  185. package/templates/default/domains/Reviews/entities/review-flag/index.mdx +35 -0
  186. package/templates/default/domains/Reviews/entities/review-vote/index.mdx +38 -0
  187. package/templates/default/domains/Reviews/flows/review-submission/index.mdx +120 -0
  188. package/templates/default/domains/Reviews/index.mdx +93 -0
  189. package/templates/default/domains/Reviews/openapi.yml +209 -0
  190. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/index.mdx +29 -0
  191. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/schema.json +12 -0
  192. package/templates/default/domains/Reviews/services/RatingAggregator/index.mdx +47 -0
  193. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/index.mdx +29 -0
  194. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/schema.json +13 -0
  195. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/index.mdx +29 -0
  196. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/schema.json +15 -0
  197. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/index.mdx +29 -0
  198. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/schema.json +12 -0
  199. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/index.mdx +29 -0
  200. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/schema.json +13 -0
  201. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/index.mdx +29 -0
  202. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/schema.json +12 -0
  203. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/index.mdx +29 -0
  204. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/schema.json +15 -0
  205. package/templates/default/domains/Reviews/services/ReviewAPI/index.mdx +58 -0
  206. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/index.mdx +24 -0
  207. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/schema.json +12 -0
  208. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/index.mdx +29 -0
  209. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/schema.json +13 -0
  210. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/index.mdx +29 -0
  211. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/schema.json +12 -0
  212. package/templates/default/domains/Reviews/services/ReviewModerationWorker/index.mdx +50 -0
  213. package/templates/default/domains/Shopping/entities/cart/index.mdx +40 -0
  214. package/templates/default/domains/Shopping/entities/cart-item/index.mdx +38 -0
  215. package/templates/default/domains/Shopping/entities/discount/index.mdx +35 -0
  216. package/templates/default/domains/Shopping/entities/promotion/index.mdx +40 -0
  217. package/templates/default/domains/Shopping/index.mdx +67 -0
  218. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/index.mdx +39 -0
  219. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/schema.sql +22 -0
  220. package/templates/default/domains/Shopping/systems/cart-system/index.mdx +53 -0
  221. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/index.mdx +32 -0
  222. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/schema.json +25 -0
  223. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/index.mdx +32 -0
  224. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/schema.json +23 -0
  225. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/index.mdx +32 -0
  226. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/schema.json +24 -0
  227. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/index.mdx +29 -0
  228. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/schema.json +62 -0
  229. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/index.mdx +72 -0
  230. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/openapi.yml +200 -0
  231. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/index.mdx +40 -0
  232. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/schema.sql +21 -0
  233. package/templates/default/domains/Shopping/systems/promotion-system/index.mdx +48 -0
  234. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/index.mdx +32 -0
  235. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/schema.json +53 -0
  236. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/index.mdx +29 -0
  237. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/schema.json +37 -0
  238. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/index.mdx +59 -0
  239. package/templates/default/domains/Shopping/ubiquitous-language.mdx +48 -0
  240. package/templates/default/eventcatalog.config.js +13 -0
  241. package/templates/default/pages/homepage.astro +109 -0
  242. package/templates/default/public/icons/analytics/clickhouse.svg +1 -0
  243. package/templates/default/public/icons/cache/redis.svg +1 -0
  244. package/templates/default/public/icons/database/postgresql.svg +1 -0
  245. package/templates/default/public/icons/languages/go.svg +1 -0
  246. package/templates/default/public/icons/languages/java.svg +1 -0
  247. package/templates/default/public/icons/languages/nodejs.svg +1 -0
  248. package/templates/default/public/icons/payments/stripe.svg +1 -0
  249. package/templates/default/teams/customer-platform.mdx +18 -0
  250. package/templates/default/teams/fulfilment-platform.mdx +20 -0
  251. package/templates/default/teams/ordering-platform.mdx +18 -0
  252. package/templates/default/teams/payments-platform.mdx +18 -0
  253. package/templates/default/teams/product-platform.mdx +20 -0
  254. package/templates/default/teams/reviews-platform.mdx +20 -0
  255. package/templates/default/teams/search-platform.mdx +19 -0
  256. package/templates/default/teams/shopping-platform.mdx +18 -0
  257. package/templates/default/users/dboyne.mdx +1 -1
  258. package/templates/default/channels/inventory.{env}.events/index.mdx +0 -159
  259. package/templates/default/channels/orders.{env}.events/index.mdx +0 -85
  260. package/templates/default/channels/payment.{env}.events/index.mdx +0 -89
  261. package/templates/default/domains/E-Commerce/index.mdx +0 -140
  262. package/templates/default/domains/E-Commerce/ubiquitous-language.mdx +0 -87
  263. package/templates/default/domains/Orders/changelog.mdx +0 -7
  264. package/templates/default/domains/Orders/entities/CartItem/index.mdx +0 -124
  265. package/templates/default/domains/Orders/entities/Customer/index.mdx +0 -59
  266. package/templates/default/domains/Orders/entities/Order/index.mdx +0 -98
  267. package/templates/default/domains/Orders/entities/OrderItem/index.mdx +0 -62
  268. package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +0 -151
  269. package/templates/default/domains/Orders/index.mdx +0 -117
  270. package/templates/default/domains/Orders/services/InventoryService/changelog.mdx +0 -7
  271. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-dlq/index.mdx +0 -13
  272. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-queue/index.mdx +0 -13
  273. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/index.mdx +0 -45
  274. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/schema.json +0 -28
  275. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/index.mdx +0 -34
  276. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/schema.json +0 -124
  277. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/index.mdx +0 -47
  278. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/schema.json +0 -28
  279. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/changelog.mdx +0 -67
  280. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/examples.config.yaml +0 -15
  281. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-decrease.json +0 -23
  282. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-increase.json +0 -23
  283. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/index.mdx +0 -124
  284. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.avro +0 -13
  285. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.json +0 -35
  286. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/changelog.mdx +0 -26
  287. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/index.mdx +0 -23
  288. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.avro +0 -9
  289. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.json +0 -36
  290. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/changelog.mdx +0 -26
  291. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/index.mdx +0 -108
  292. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.avro +0 -10
  293. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.json +0 -36
  294. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/examples.config.yaml +0 -7
  295. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/product-depleted.json +0 -19
  296. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/index.mdx +0 -102
  297. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/schema.json +0 -28
  298. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/index.mdx +0 -98
  299. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/schema.json +0 -28
  300. package/templates/default/domains/Orders/services/InventoryService/index.mdx +0 -120
  301. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/index.mdx +0 -22
  302. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/schema.json +0 -52
  303. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/index.mdx +0 -40
  304. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/schema.json +0 -27
  305. package/templates/default/domains/Orders/services/InventoryService/versioned/0.0.1/index.mdx +0 -52
  306. package/templates/default/domains/Orders/services/NotificationService/index.mdx +0 -82
  307. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/index.mdx +0 -26
  308. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/schema.json +0 -55
  309. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/index.mdx +0 -26
  310. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/schema.json +0 -46
  311. package/templates/default/domains/Orders/services/OrdersService/changelog.mdx +0 -3
  312. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/address-change.json +0 -36
  313. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/examples.config.yaml +0 -15
  314. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/quantity-change.json +0 -29
  315. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/index.mdx +0 -58
  316. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.avro +0 -75
  317. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.json +0 -70
  318. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/customer-request.json +0 -34
  319. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/examples.config.yaml +0 -15
  320. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/out-of-stock.json +0 -28
  321. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/index.mdx +0 -54
  322. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/schema.json +0 -71
  323. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/examples.config.yaml +0 -15
  324. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/gift-order.json +0 -38
  325. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/standard-order.json +0 -42
  326. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/index.mdx +0 -55
  327. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/schema.json +0 -66
  328. package/templates/default/domains/Orders/services/OrdersService/index.mdx +0 -81
  329. package/templates/default/domains/Orders/services/OrdersService/openapi.yml +0 -185
  330. package/templates/default/domains/Orders/services/OrdersService/order-service-asyncapi.yaml +0 -148
  331. package/templates/default/domains/Orders/services/OrdersService/queries/GetOrder/index.mdx +0 -26
  332. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/changelog.mdx +0 -3
  333. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/index.mdx +0 -40
  334. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/openapi.yml +0 -96
  335. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/order-service-asyncapi.yaml +0 -148
  336. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/index.mdx +0 -22
  337. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/schema.json +0 -13
  338. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/index.mdx +0 -22
  339. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/schema.json +0 -19
  340. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/index.mdx +0 -22
  341. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/schema.json +0 -62
  342. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/index.mdx +0 -22
  343. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/schema.json +0 -29
  344. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/address-not-found.json +0 -23
  345. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/customer-unavailable.json +0 -40
  346. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/damaged-in-transit.json +0 -33
  347. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/examples.config.yaml +0 -23
  348. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/index.mdx +0 -22
  349. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/schema.json +0 -17
  350. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/defective-item.json +0 -33
  351. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/examples.config.yaml +0 -15
  352. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/wrong-item.json +0 -51
  353. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/index.mdx +0 -22
  354. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/schema.json +0 -17
  355. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/examples.config.yaml +0 -15
  356. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/multi-package.json +0 -76
  357. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/single-package.json +0 -51
  358. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/index.mdx +0 -22
  359. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/schema.json +0 -64
  360. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/examples.config.yaml +0 -15
  361. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/front-door-delivery.json +0 -30
  362. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/signed-delivery.json +0 -31
  363. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/index.mdx +0 -22
  364. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/schema.json +0 -17
  365. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/examples.config.yaml +0 -15
  366. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/express-shipping.json +0 -33
  367. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/standard-shipping.json +0 -32
  368. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/index.mdx +0 -22
  369. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/schema.json +0 -17
  370. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/domestic-transit.json +0 -48
  371. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/examples.config.yaml +0 -15
  372. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/international-transit.json +0 -61
  373. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/index.mdx +0 -22
  374. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/schema.json +0 -17
  375. package/templates/default/domains/Orders/services/ShippingService/index.mdx +0 -61
  376. package/templates/default/domains/Orders/ubiquitous-language.mdx +0 -127
  377. package/templates/default/domains/Orders/versioned/0.0.1/index.mdx +0 -21
  378. package/templates/default/domains/Orders/versioned/0.0.2/index.mdx +0 -50
  379. package/templates/default/domains/Payment/entities/Address/index.mdx +0 -165
  380. package/templates/default/domains/Payment/entities/Invoice/index.mdx +0 -92
  381. package/templates/default/domains/Payment/entities/Payment/index.mdx +0 -140
  382. package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +0 -80
  383. package/templates/default/domains/Payment/entities/Transaction/index.mdx +0 -80
  384. package/templates/default/domains/Payment/flows/PaymentProcessed/index.mdx +0 -82
  385. package/templates/default/domains/Payment/index.mdx +0 -40
  386. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-flagged.json +0 -50
  387. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-passed.json +0 -45
  388. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/examples.config.yaml +0 -15
  389. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +0 -50
  390. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +0 -44
  391. package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +0 -62
  392. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +0 -75
  393. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +0 -58
  394. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/card-declined.json +0 -38
  395. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/examples.config.yaml +0 -23
  396. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/expired-card.json +0 -38
  397. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/insufficient-funds.json +0 -38
  398. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +0 -64
  399. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +0 -68
  400. package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +0 -71
  401. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/examples.config.yaml +0 -15
  402. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/express-checkout.json +0 -45
  403. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/standard-checkout.json +0 -52
  404. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/index.mdx +0 -37
  405. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/schema.json +0 -31
  406. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/examples.config.yaml +0 -15
  407. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/international-payment.json +0 -48
  408. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/successful-payment.json +0 -48
  409. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/index.mdx +0 -43
  410. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/schema.json +0 -54
  411. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/index.mdx +0 -43
  412. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/schema.json +0 -54
  413. package/templates/default/domains/Payment/services/PaymentService/index.mdx +0 -41
  414. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/index.mdx +0 -26
  415. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/schema.json +0 -39
  416. package/templates/default/domains/Payment/ubiquitous-language.mdx +0 -96
  417. package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +0 -127
  418. package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +0 -119
  419. package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +0 -118
  420. package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +0 -157
  421. package/templates/default/domains/ProductCatalog/index.mdx +0 -73
  422. package/templates/default/domains/ProductCatalog/ubiquitous-language.mdx +0 -88
  423. package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +0 -71
  424. package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +0 -76
  425. package/templates/default/domains/Subscriptions/flows/CancelSubscription/SubscriptionRenewed/index.mdx +0 -300
  426. package/templates/default/domains/Subscriptions/flows/CancelSubscription/index.mdx +0 -69
  427. package/templates/default/domains/Subscriptions/flows/CancelSubscription/versioned/0.0.1/index.mdx +0 -51
  428. package/templates/default/domains/Subscriptions/index.mdx +0 -35
  429. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/examples.config.yaml +0 -7
  430. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/upcoming-renewal.json +0 -28
  431. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +0 -63
  432. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +0 -54
  433. package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +0 -83
  434. package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +0 -83
  435. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/index.mdx +0 -26
  436. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/schema.json +0 -30
  437. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/index.mdx +0 -26
  438. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/schema.json +0 -31
  439. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/examples.config.yaml +0 -15
  440. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/payment-failure.json +0 -25
  441. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/voluntary-cancellation.json +0 -23
  442. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/index.mdx +0 -26
  443. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/schema.json +0 -35
  444. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/annual-plan.json +0 -26
  445. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/examples.config.yaml +0 -15
  446. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/monthly-plan.json +0 -25
  447. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/index.mdx +0 -26
  448. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/schema.json +0 -36
  449. package/templates/default/domains/Subscriptions/services/SubscriptionService/index.mdx +0 -62
  450. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/index.mdx +0 -26
  451. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/schema.json +0 -54
  452. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/index.mdx +0 -26
  453. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/schema.json +0 -54
  454. package/templates/default/domains/Subscriptions/ubiquitous-language.mdx +0 -129
  455. package/templates/default/teams/full-stack.mdx +0 -26
  456. package/templates/default/teams/mobile-devs.mdx +0 -23
  457. package/templates/default/users/aSmith.mdx +0 -27
  458. package/templates/default/users/mSmith.mdx +0 -9
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CheckoutCart",
4
+ "description": "Command to check out a shopping cart",
5
+ "type": "object",
6
+ "properties": {
7
+ "cartId": {
8
+ "description": "Unique identifier of the cart to check out",
9
+ "type": "string",
10
+ "format": "uuid"
11
+ },
12
+ "customerId": {
13
+ "description": "Identifier of the customer checking out",
14
+ "type": "string",
15
+ "format": "uuid"
16
+ },
17
+ "promotionCode": {
18
+ "description": "Optional promotion code to apply at checkout",
19
+ "type": "string"
20
+ }
21
+ },
22
+ "required": ["cartId", "customerId"]
23
+ }
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: remove-item-from-cart
3
+ name: Remove Item From Cart
4
+ version: 1.0.0
5
+ summary: |
6
+ Command to remove an item from a shopping cart.
7
+ owners:
8
+ - shopping-platform
9
+ schemaPath: schema.json
10
+ operation:
11
+ method: DELETE
12
+ path: /carts/{cartId}/items/{productId}
13
+ statusCodes: ['200', '404']
14
+ sidebar:
15
+ badge: 'DELETE'
16
+ ---
17
+
18
+ import Footer from '@catalog/components/footer.astro';
19
+
20
+ ## Overview
21
+
22
+ `RemoveItemFromCart` is handled by the [[service|cart-api]]. It removes an item from the cart (or decreases its quantity) and persists the change to the [[container|cart-database]].
23
+
24
+ ## Architecture diagram
25
+
26
+ <NodeGraph />
27
+
28
+ ## Schema
29
+
30
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
31
+
32
+ <Footer />
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "RemoveItemFromCart",
4
+ "description": "Command to remove an item from a shopping cart",
5
+ "type": "object",
6
+ "properties": {
7
+ "cartId": {
8
+ "description": "Unique identifier of the cart",
9
+ "type": "string",
10
+ "format": "uuid"
11
+ },
12
+ "productId": {
13
+ "description": "Identifier of the product to remove",
14
+ "type": "string",
15
+ "format": "uuid"
16
+ },
17
+ "quantity": {
18
+ "description": "Number of units to remove. If omitted, removes the item entirely.",
19
+ "type": "integer",
20
+ "minimum": 1
21
+ }
22
+ },
23
+ "required": ["cartId", "productId"]
24
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: cart-checked-out
3
+ name: Cart Checked Out
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a customer has checked out their cart.
7
+ owners:
8
+ - shopping-platform
9
+ badges:
10
+ - content: 'Broker:Kafka'
11
+ backgroundColor: blue
12
+ textColor: blue
13
+ icon: BoltIcon
14
+ schemaPath: schema.json
15
+ ---
16
+
17
+ import Footer from '@catalog/components/footer.astro';
18
+
19
+ ## Overview
20
+
21
+ `CartCheckedOut` is published by the [[service|cart-api]] when a customer checks out. Downstream systems consume this event to create an order, take payment, and begin fulfilment.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CartCheckedOut",
4
+ "description": "Emitted when a customer checks out their cart",
5
+ "type": "object",
6
+ "properties": {
7
+ "eventId": {
8
+ "type": "string",
9
+ "format": "uuid"
10
+ },
11
+ "occurredAt": {
12
+ "type": "string",
13
+ "format": "date-time"
14
+ },
15
+ "cartId": {
16
+ "type": "string",
17
+ "format": "uuid"
18
+ },
19
+ "customerId": {
20
+ "type": "string",
21
+ "format": "uuid"
22
+ },
23
+ "items": {
24
+ "type": "array",
25
+ "items": {
26
+ "type": "object",
27
+ "properties": {
28
+ "productId": {
29
+ "type": "string",
30
+ "format": "uuid"
31
+ },
32
+ "quantity": {
33
+ "type": "integer",
34
+ "minimum": 1
35
+ },
36
+ "unitPrice": {
37
+ "description": "Price per unit in minor units (e.g. cents)",
38
+ "type": "integer"
39
+ }
40
+ },
41
+ "required": ["productId", "quantity", "unitPrice"]
42
+ }
43
+ },
44
+ "subtotal": {
45
+ "description": "Total before discounts, in minor units (e.g. cents)",
46
+ "type": "integer"
47
+ },
48
+ "discount": {
49
+ "description": "Total discount applied, in minor units (e.g. cents)",
50
+ "type": "integer"
51
+ },
52
+ "total": {
53
+ "description": "Final total, in minor units (e.g. cents)",
54
+ "type": "integer"
55
+ },
56
+ "currency": {
57
+ "type": "string",
58
+ "pattern": "^[A-Z]{3}$"
59
+ }
60
+ },
61
+ "required": ["eventId", "occurredAt", "cartId", "customerId", "items", "total", "currency"]
62
+ }
@@ -0,0 +1,72 @@
1
+ ---
2
+ id: cart-api
3
+ version: 1.0.0
4
+ name: Cart API
5
+ summary: |
6
+ The public-facing API for shopping carts. Handles commands to add and remove items and to check out, and publishes an event when a cart is checked out.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - shopping-platform
11
+ receives:
12
+ - id: add-item-to-cart
13
+ version: 1.0.0
14
+ - id: remove-item-from-cart
15
+ version: 1.0.0
16
+ - id: checkout-cart
17
+ version: 1.0.0
18
+ sends:
19
+ - id: cart-checked-out
20
+ version: 1.0.0
21
+ - id: calculate-discount
22
+ version: 1.0.0
23
+ writesTo:
24
+ - id: cart-database
25
+ readsFrom:
26
+ - id: cart-database
27
+ repository:
28
+ language: TypeScript
29
+ url: 'https://github.com/acme/cart-api'
30
+ specifications:
31
+ - type: openapi
32
+ path: openapi.yml
33
+ name: Cart API
34
+ ---
35
+
36
+ import Footer from '@catalog/components/footer.astro';
37
+
38
+ ## Overview
39
+
40
+ The **Cart API** is the front door to the Cart System. It validates incoming commands, persists cart contents to the [[container|cart-database]], asks the [[system|promotion-system]] to calculate discounts via [[command|calculate-discount]], and publishes a [[event|cart-checked-out]] event when the customer checks out.
41
+
42
+ <Tiles>
43
+ <Tile
44
+ icon="BoltIcon"
45
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
46
+ title={`Sends ${frontmatter.sends.length} messages`}
47
+ description="Checkout event and discount requests"
48
+ />
49
+ <Tile
50
+ icon="BoltIcon"
51
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
52
+ title={`Receives ${frontmatter.receives.length} messages`}
53
+ description="Cart commands handled by this service"
54
+ />
55
+ </Tiles>
56
+
57
+ ### Responsibilities
58
+
59
+ | Area | Description |
60
+ | ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
61
+ | Cart management | Validates and applies [[command\|add-item-to-cart]], [[command\|remove-item-from-cart]] and [[command\|checkout-cart]]. |
62
+ | Discounts | Requests pricing from the Promotion System via [[command\|calculate-discount]]. |
63
+ | Event publishing | Emits [[event\|cart-checked-out]] when a cart is checked out. |
64
+ | Persistence | Reads from and writes to the [[container\|cart-database]] (system of record). |
65
+
66
+ ## Architecture diagram
67
+
68
+ <NodeGraph />
69
+
70
+ <MessageTable format="all" limit={8} />
71
+
72
+ <Footer />
@@ -0,0 +1,200 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: Cart API
4
+ version: 1.0.0
5
+ description: |
6
+ Public-facing API for the Cart System. Customers use it to build a cart —
7
+ adding and removing items — and to check out. At checkout the cart is priced
8
+ (including discounts from the Promotion System) and a `CartCheckedOut` event
9
+ is published.
10
+ contact:
11
+ name: Shopping Platform
12
+ email: shopping-platform@acme.test
13
+ servers:
14
+ - url: https://api.acme.test
15
+ description: Production
16
+ tags:
17
+ - name: Cart
18
+ description: Build and check out a shopping cart.
19
+ paths:
20
+ /carts/{cartId}/items:
21
+ parameters:
22
+ - $ref: '#/components/parameters/CartId'
23
+ post:
24
+ operationId: addItemToCart
25
+ summary: Add an item to the cart
26
+ tags:
27
+ - Cart
28
+ requestBody:
29
+ required: true
30
+ content:
31
+ application/json:
32
+ schema:
33
+ $ref: '#/components/schemas/AddItemRequest'
34
+ responses:
35
+ '200':
36
+ description: The item was added; the updated cart is returned.
37
+ content:
38
+ application/json:
39
+ schema:
40
+ $ref: '#/components/schemas/Cart'
41
+ '400':
42
+ description: The request was invalid.
43
+ content:
44
+ application/json:
45
+ schema:
46
+ $ref: '#/components/schemas/Error'
47
+ '404':
48
+ description: The cart was not found.
49
+ content:
50
+ application/json:
51
+ schema:
52
+ $ref: '#/components/schemas/Error'
53
+ /carts/{cartId}/items/{productId}:
54
+ parameters:
55
+ - $ref: '#/components/parameters/CartId'
56
+ - name: productId
57
+ in: path
58
+ required: true
59
+ description: Identifier of the product to remove.
60
+ schema:
61
+ type: string
62
+ format: uuid
63
+ delete:
64
+ operationId: removeItemFromCart
65
+ summary: Remove an item from the cart
66
+ tags:
67
+ - Cart
68
+ responses:
69
+ '200':
70
+ description: The item was removed; the updated cart is returned.
71
+ content:
72
+ application/json:
73
+ schema:
74
+ $ref: '#/components/schemas/Cart'
75
+ '404':
76
+ description: The cart or item was not found.
77
+ content:
78
+ application/json:
79
+ schema:
80
+ $ref: '#/components/schemas/Error'
81
+ /carts/{cartId}/checkout:
82
+ parameters:
83
+ - $ref: '#/components/parameters/CartId'
84
+ post:
85
+ operationId: checkoutCart
86
+ summary: Check out the cart
87
+ description: Prices the cart (including discounts) and, on success, publishes a `CartCheckedOut` event.
88
+ tags:
89
+ - Cart
90
+ requestBody:
91
+ required: true
92
+ content:
93
+ application/json:
94
+ schema:
95
+ $ref: '#/components/schemas/CheckoutRequest'
96
+ responses:
97
+ '200':
98
+ description: The cart was checked out.
99
+ content:
100
+ application/json:
101
+ schema:
102
+ $ref: '#/components/schemas/Cart'
103
+ '400':
104
+ description: The request was invalid.
105
+ content:
106
+ application/json:
107
+ schema:
108
+ $ref: '#/components/schemas/Error'
109
+ '404':
110
+ description: The cart was not found.
111
+ content:
112
+ application/json:
113
+ schema:
114
+ $ref: '#/components/schemas/Error'
115
+ '409':
116
+ description: The cart is empty or already checked out.
117
+ content:
118
+ application/json:
119
+ schema:
120
+ $ref: '#/components/schemas/Error'
121
+ components:
122
+ parameters:
123
+ CartId:
124
+ name: cartId
125
+ in: path
126
+ required: true
127
+ description: Unique identifier of the cart.
128
+ schema:
129
+ type: string
130
+ format: uuid
131
+ schemas:
132
+ Cart:
133
+ type: object
134
+ required: [cartId, status, items, currency]
135
+ properties:
136
+ cartId:
137
+ type: string
138
+ format: uuid
139
+ customerId:
140
+ type: string
141
+ format: uuid
142
+ status:
143
+ type: string
144
+ enum: [OPEN, CHECKED_OUT, ABANDONED]
145
+ items:
146
+ type: array
147
+ items:
148
+ $ref: '#/components/schemas/CartItem'
149
+ subtotal:
150
+ type: integer
151
+ description: Total before discounts, in minor units (e.g. cents).
152
+ discount:
153
+ type: integer
154
+ description: Total discount applied, in minor units (e.g. cents).
155
+ total:
156
+ type: integer
157
+ description: Final total, in minor units (e.g. cents).
158
+ currency:
159
+ type: string
160
+ pattern: '^[A-Z]{3}$'
161
+ CartItem:
162
+ type: object
163
+ required: [productId, quantity, unitPrice]
164
+ properties:
165
+ productId:
166
+ type: string
167
+ format: uuid
168
+ quantity:
169
+ type: integer
170
+ minimum: 1
171
+ unitPrice:
172
+ type: integer
173
+ description: Price per unit in minor units (e.g. cents).
174
+ AddItemRequest:
175
+ type: object
176
+ required: [productId, quantity]
177
+ properties:
178
+ productId:
179
+ type: string
180
+ format: uuid
181
+ quantity:
182
+ type: integer
183
+ minimum: 1
184
+ CheckoutRequest:
185
+ type: object
186
+ required: [customerId]
187
+ properties:
188
+ customerId:
189
+ type: string
190
+ format: uuid
191
+ promotionCode:
192
+ type: string
193
+ Error:
194
+ type: object
195
+ required: [code, message]
196
+ properties:
197
+ code:
198
+ type: string
199
+ message:
200
+ type: string
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: promotion-database
3
+ name: Promotion Database
4
+ version: 1.0.0
5
+ summary: PostgreSQL store of promotion and discount rules.
6
+ container_type: database
7
+ technology: postgres@16
8
+ authoritative: true
9
+ access_mode: readWrite
10
+ purpose: System of record for promotion and discount rules
11
+ classification: internal
12
+ retention: indefinite
13
+ residency: eu-west-1
14
+ styles:
15
+ icon: /icons/database/postgresql.svg
16
+ ---
17
+
18
+ <NodeGraph />
19
+
20
+ ### What is this?
21
+
22
+ The **Promotion Database** holds the promotion and discount rules that the [[service|promotion-service]] evaluates when pricing a cart. It is the source of truth for what promotions exist, who they apply to, and when they are valid.
23
+
24
+ ### What does it store?
25
+
26
+ - **Promotions** — one row per promotion: code, type (percentage / fixed amount), value, and validity window.
27
+ - **Eligibility rules** — the conditions under which a promotion applies (minimum spend, customer segment, etc.).
28
+
29
+ ### Schema
30
+
31
+ <AccordionGroup>
32
+ <Accordion title="Promotion Database schema">
33
+ <Schema file="schema.sql" lang="sql" title="schema.sql" />
34
+ </Accordion>
35
+ </AccordionGroup>
36
+
37
+ ### Access patterns
38
+
39
+ - The [[service|promotion-service]] reads rules when handling [[command|calculate-discount]].
40
+ - Rules are managed by the promotions team and change infrequently relative to read volume.
@@ -0,0 +1,21 @@
1
+ -- Promotion Database — system of record for promotion and discount rules
2
+
3
+ CREATE TABLE promotions (
4
+ promotion_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
5
+ code TEXT NOT NULL UNIQUE,
6
+ description TEXT,
7
+ type TEXT NOT NULL CHECK (type IN ('PERCENTAGE', 'FIXED_AMOUNT')),
8
+ value INTEGER NOT NULL CHECK (value >= 0),
9
+ starts_at TIMESTAMPTZ NOT NULL,
10
+ ends_at TIMESTAMPTZ,
11
+ active BOOLEAN NOT NULL DEFAULT true
12
+ );
13
+
14
+ CREATE TABLE eligibility_rules (
15
+ promotion_id UUID NOT NULL REFERENCES promotions (promotion_id) ON DELETE CASCADE,
16
+ min_spend_cents INTEGER CHECK (min_spend_cents >= 0),
17
+ customer_segment TEXT,
18
+ PRIMARY KEY (promotion_id)
19
+ );
20
+
21
+ CREATE INDEX idx_promotions_active ON promotions (active) WHERE active = true;
@@ -0,0 +1,48 @@
1
+ ---
2
+ id: promotion-system
3
+ name: Promotion System
4
+ version: 1.0.0
5
+ summary: |
6
+ Internal system that calculates the discounts and promotions that apply to a cart. It owns promotion rules and returns calculated discounts to the Cart System.
7
+ owners:
8
+ - shopping-platform
9
+ services:
10
+ - id: promotion-service
11
+ containers:
12
+ - id: promotion-database
13
+ relationships:
14
+ - id: cart-system
15
+ label: provides discounts to
16
+ badges:
17
+ - content: Internal
18
+ backgroundColor: gray
19
+ textColor: gray
20
+ icon: LockClosedIcon
21
+ ---
22
+
23
+ ## Overview
24
+
25
+ The **Promotion System** owns the discount and promotion rules at Acme Inc. It receives requests to calculate the discount for a cart, evaluates the applicable rules from the [[container|promotion-database]], and publishes a [[event|discount-calculated]] event with the result. It provides discounts to the [[system|cart-system]].
26
+
27
+ ## Context Diagram
28
+
29
+ How this system relates to the other systems around it.
30
+
31
+ <ContextDiagram />
32
+
33
+ ## Resource Diagram
34
+
35
+ The services, data stores and messages that make up this system.
36
+
37
+ <NodeGraph />
38
+
39
+ ## What's inside
40
+
41
+ | Component | Type | Responsibility |
42
+ | --------------------------------- | ---------- | -------------------------------------------------------------- |
43
+ | [[service\|promotion-service]] | Service | Evaluates promotion rules and calculates discounts for a cart. |
44
+ | [[container\|promotion-database]] | Data store | PostgreSQL store of promotion and discount rules. |
45
+
46
+ ## Messages this system publishes
47
+
48
+ - [[event|discount-calculated]] — a discount has been calculated for a cart.
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: calculate-discount
3
+ name: Calculate Discount
4
+ version: 1.0.0
5
+ summary: |
6
+ Command to calculate the discount that applies to a cart.
7
+ owners:
8
+ - shopping-platform
9
+ schemaPath: schema.json
10
+ operation:
11
+ method: POST
12
+ path: /discounts/calculate
13
+ statusCodes: ['200', '400']
14
+ sidebar:
15
+ badge: 'POST'
16
+ ---
17
+
18
+ import Footer from '@catalog/components/footer.astro';
19
+
20
+ ## Overview
21
+
22
+ `CalculateDiscount` is handled by the [[service|promotion-service]]. It is sent by the [[service|cart-api]] when pricing a cart. The service evaluates the applicable promotion rules and returns the discount, also publishing a [[event|discount-calculated]] event.
23
+
24
+ ## Architecture diagram
25
+
26
+ <NodeGraph />
27
+
28
+ ## Schema
29
+
30
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
31
+
32
+ <Footer />
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CalculateDiscount",
4
+ "description": "Command to calculate the discount for a cart, and the discount returned",
5
+ "type": "object",
6
+ "properties": {
7
+ "request": {
8
+ "type": "object",
9
+ "properties": {
10
+ "cartId": {
11
+ "type": "string",
12
+ "format": "uuid"
13
+ },
14
+ "customerId": {
15
+ "type": "string",
16
+ "format": "uuid"
17
+ },
18
+ "subtotal": {
19
+ "description": "Cart subtotal before discounts, in minor units (e.g. cents)",
20
+ "type": "integer",
21
+ "minimum": 0
22
+ },
23
+ "currency": {
24
+ "type": "string",
25
+ "pattern": "^[A-Z]{3}$"
26
+ },
27
+ "promotionCode": {
28
+ "description": "Optional promotion code supplied by the customer",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "required": ["cartId", "subtotal", "currency"]
33
+ },
34
+ "response": {
35
+ "type": "object",
36
+ "properties": {
37
+ "discount": {
38
+ "description": "Total discount to apply, in minor units (e.g. cents)",
39
+ "type": "integer",
40
+ "minimum": 0
41
+ },
42
+ "appliedPromotions": {
43
+ "type": "array",
44
+ "items": {
45
+ "type": "string"
46
+ }
47
+ }
48
+ },
49
+ "required": ["discount"]
50
+ }
51
+ },
52
+ "required": ["request", "response"]
53
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: discount-calculated
3
+ name: Discount Calculated
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a discount has been calculated for a cart.
7
+ owners:
8
+ - shopping-platform
9
+ badges:
10
+ - content: 'Broker:Kafka'
11
+ backgroundColor: blue
12
+ textColor: blue
13
+ icon: BoltIcon
14
+ schemaPath: schema.json
15
+ ---
16
+
17
+ import Footer from '@catalog/components/footer.astro';
18
+
19
+ ## Overview
20
+
21
+ `DiscountCalculated` is published by the [[service|promotion-service]] after evaluating the promotion rules for a cart. The [[system|cart-system]] uses the result to price the cart, and other systems can consume it for analytics.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />