@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,58 @@
1
+ ---
2
+ id: review-api
3
+ version: 1.0.0
4
+ name: Review API
5
+ summary: |
6
+ The public-facing API for product reviews. Accepts review submissions, serves published reviews, and is the entry point into the Reviews & Ratings domain.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - reviews-platform
11
+ receives:
12
+ - id: submit-review
13
+ version: 1.0.0
14
+ - id: flag-review
15
+ version: 1.0.0
16
+ - id: vote-review-helpful
17
+ version: 1.0.0
18
+ - id: get-product-reviews
19
+ version: 1.0.0
20
+ sends:
21
+ - id: review-submitted
22
+ version: 1.0.0
23
+ - id: review-flagged
24
+ version: 1.0.0
25
+ - id: review-helpful-voted
26
+ version: 1.0.0
27
+ writesTo:
28
+ - id: review-database
29
+ readsFrom:
30
+ - id: review-database
31
+ - id: rating-cache
32
+ repository:
33
+ language: TypeScript
34
+ url: 'https://github.com/acme/review-api'
35
+ ---
36
+
37
+ import Footer from '@catalog/components/footer.astro';
38
+
39
+ ## Overview
40
+
41
+ The **Review API** is the front door to the Reviews & Ratings domain. It validates incoming [[command|submit-review]] commands, persists reviews to the [[container|review-database]], and publishes [[event|review-submitted]]. It also serves [[query|get-product-reviews]], reading published reviews from the [[container|review-database]] and aggregate ratings from the [[container|rating-cache]].
42
+
43
+ ### Responsibilities
44
+
45
+ | Area | Description |
46
+ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
47
+ | Command handling | Validates and applies [[command\|submit-review]]. |
48
+ | Reads | Serves [[query\|get-product-reviews]] from the review database and rating cache. |
49
+ | Eventing | Publishes [[event\|review-submitted]] for moderation. |
50
+ | Persistence | Writes to the [[container\|review-database]]; reads from the [[container\|review-database]] and [[container\|rating-cache]]. |
51
+
52
+ ## Architecture diagram
53
+
54
+ <NodeGraph />
55
+
56
+ <MessageTable format="all" limit={8} />
57
+
58
+ <Footer />
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: get-product-reviews
3
+ name: Get Product Reviews
4
+ version: 1.0.0
5
+ summary: |
6
+ Query to fetch the published reviews and aggregate rating for a product.
7
+ owners:
8
+ - reviews-platform
9
+ schemaPath: schema.json
10
+ ---
11
+
12
+ import Footer from '@catalog/components/footer.astro';
13
+
14
+ ## Overview
15
+
16
+ `GetProductReviews` is served by the [[service|review-api]]. It returns the published reviews for a product along with its aggregate rating, read from the [[container|review-database]] and the [[container|rating-cache]].
17
+
18
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
19
+
20
+ ## Architecture diagram
21
+
22
+ <NodeGraph />
23
+
24
+ <Footer />
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GetProductReviews",
4
+ "type": "object",
5
+ "properties": {
6
+ "productId": { "type": "string", "description": "The product to fetch reviews for." },
7
+ "page": { "type": "integer", "minimum": 1, "default": 1 },
8
+ "pageSize": { "type": "integer", "minimum": 1, "maximum": 100, "default": 20 },
9
+ "sort": { "type": "string", "enum": ["newest", "highest", "lowest", "most_helpful"], "default": "newest" }
10
+ },
11
+ "required": ["productId"]
12
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: review-published
3
+ name: Review Published
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a submitted review passes moderation and becomes visible on the storefront.
7
+ owners:
8
+ - reviews-platform
9
+ schemaPath: schema.json
10
+ badges:
11
+ - content: 'Broker:Kafka'
12
+ backgroundColor: blue
13
+ textColor: blue
14
+ icon: BoltIcon
15
+ ---
16
+
17
+ import Footer from '@catalog/components/footer.astro';
18
+
19
+ ## Overview
20
+
21
+ `ReviewPublished` is published by the [[service|review-moderation-worker]] when a review passes moderation. The [[service|rating-aggregator]] consumes it to update the product's aggregate rating.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "ReviewPublished",
4
+ "type": "object",
5
+ "properties": {
6
+ "reviewId": { "type": "string", "format": "uuid" },
7
+ "productId": { "type": "string" },
8
+ "customerId": { "type": "string" },
9
+ "rating": { "type": "integer", "minimum": 1, "maximum": 5 },
10
+ "publishedAt": { "type": "string", "format": "date-time" }
11
+ },
12
+ "required": ["reviewId", "productId", "rating", "publishedAt"]
13
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: review-rejected
3
+ name: Review Rejected
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a submitted review fails moderation (spam, abuse or policy violation) and will not be shown.
7
+ owners:
8
+ - reviews-platform
9
+ schemaPath: schema.json
10
+ badges:
11
+ - content: 'Broker:Kafka'
12
+ backgroundColor: blue
13
+ textColor: blue
14
+ icon: BoltIcon
15
+ ---
16
+
17
+ import Footer from '@catalog/components/footer.astro';
18
+
19
+ ## Overview
20
+
21
+ `ReviewRejected` is published by the [[service|review-moderation-worker]] when a review fails moderation. The review is kept for audit but never published to the storefront.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "ReviewRejected",
4
+ "type": "object",
5
+ "properties": {
6
+ "reviewId": { "type": "string", "format": "uuid" },
7
+ "productId": { "type": "string" },
8
+ "reason": { "type": "string", "enum": ["spam", "abuse", "off_topic", "policy_violation"] },
9
+ "rejectedAt": { "type": "string", "format": "date-time" }
10
+ },
11
+ "required": ["reviewId", "productId", "reason", "rejectedAt"]
12
+ }
@@ -0,0 +1,50 @@
1
+ ---
2
+ id: review-moderation-worker
3
+ version: 1.0.0
4
+ name: Review Moderation Worker
5
+ summary: |
6
+ Asynchronous worker that screens submitted reviews for spam, abuse and policy violations, then publishes or rejects them.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - reviews-platform
11
+ receives:
12
+ - id: review-submitted
13
+ version: 1.0.0
14
+ - id: review-flagged
15
+ version: 1.0.0
16
+ sends:
17
+ - id: review-published
18
+ version: 1.0.0
19
+ - id: review-rejected
20
+ version: 1.0.0
21
+ writesTo:
22
+ - id: review-database
23
+ readsFrom:
24
+ - id: review-database
25
+ repository:
26
+ language: TypeScript
27
+ url: 'https://github.com/acme/review-moderation-worker'
28
+ ---
29
+
30
+ import Footer from '@catalog/components/footer.astro';
31
+
32
+ ## Overview
33
+
34
+ The **Review Moderation Worker** consumes [[event|review-submitted]] (and [[event|review-flagged]] for already-published reviews), screens each review (automated checks plus thresholds for manual review), and records the outcome on the [[container|review-database]]. It then publishes either [[event|review-published]] or [[event|review-rejected]].
35
+
36
+ ### Responsibilities
37
+
38
+ | Area | Description |
39
+ | ----------- | ---------------------------------------------------------------------- |
40
+ | Moderation | Screens reviews for spam, abuse and policy violations. |
41
+ | Outcome | Publishes [[event\|review-published]] or [[event\|review-rejected]]. |
42
+ | Persistence | Records the moderation decision on the [[container\|review-database]]. |
43
+
44
+ ## Architecture diagram
45
+
46
+ <NodeGraph />
47
+
48
+ <MessageTable format="all" limit={8} />
49
+
50
+ <Footer />
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: cart
3
+ name: Cart
4
+ version: 1.0.0
5
+ identifier: cartId
6
+ aggregateRoot: true
7
+ summary: The customer's active collection of items before an order exists.
8
+ owners:
9
+ - shopping-platform
10
+ properties:
11
+ - name: cartId
12
+ type: UUID
13
+ required: true
14
+ description: Unique cart identifier.
15
+ - name: customerId
16
+ type: UUID
17
+ required: false
18
+ description: Customer that owns the cart, if authenticated.
19
+ references: customer-profile
20
+ relationType: belongsTo
21
+ referencesIdentifier: customerId
22
+ - name: status
23
+ type: string
24
+ required: true
25
+ description: Current cart state.
26
+ enum:
27
+ - active
28
+ - checked-out
29
+ - abandoned
30
+ - name: updatedAt
31
+ type: datetime
32
+ required: true
33
+ description: Time the cart last changed.
34
+ ---
35
+
36
+ ## Overview
37
+
38
+ Cart is the Shopping domain aggregate. It accepts item changes and emits [[event|cart-checked-out]] when the customer commits to buy.
39
+
40
+ <EntityPropertiesTable />
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: cart-item
3
+ name: Cart Item
4
+ version: 1.0.0
5
+ identifier: cartItemId
6
+ summary: A product variant and quantity inside a cart.
7
+ owners:
8
+ - shopping-platform
9
+ properties:
10
+ - name: cartItemId
11
+ type: UUID
12
+ required: true
13
+ description: Unique cart item identifier.
14
+ - name: cartId
15
+ type: UUID
16
+ required: true
17
+ description: Cart this item belongs to.
18
+ references: cart
19
+ relationType: belongsTo
20
+ referencesIdentifier: cartId
21
+ - name: productId
22
+ type: UUID
23
+ required: true
24
+ description: Product selected by the customer.
25
+ references: product
26
+ relationType: references
27
+ referencesIdentifier: productId
28
+ - name: quantity
29
+ type: integer
30
+ required: true
31
+ description: Quantity requested.
32
+ ---
33
+
34
+ ## Overview
35
+
36
+ Cart Item records the customer's intent to buy a product variant before checkout. It is owned by [[entity|cart]].
37
+
38
+ <EntityPropertiesTable />
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: discount
3
+ name: Discount
4
+ version: 1.0.0
5
+ identifier: discountId
6
+ summary: The calculated benefit applied to a cart or cart item.
7
+ owners:
8
+ - shopping-platform
9
+ properties:
10
+ - name: discountId
11
+ type: UUID
12
+ required: true
13
+ description: Unique discount identifier.
14
+ - name: promotionId
15
+ type: UUID
16
+ required: false
17
+ description: Promotion that produced the discount.
18
+ references: promotion
19
+ relationType: derivedFrom
20
+ referencesIdentifier: promotionId
21
+ - name: amount
22
+ type: decimal
23
+ required: true
24
+ description: Monetary value of the discount.
25
+ - name: reason
26
+ type: string
27
+ required: true
28
+ description: Human-readable explanation for the discount.
29
+ ---
30
+
31
+ ## Overview
32
+
33
+ Discount is a calculated result from [[command|calculate-discount]]. It is separate from cart persistence so promotion logic can evolve independently.
34
+
35
+ <EntityPropertiesTable />
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: promotion
3
+ name: Promotion
4
+ version: 1.0.0
5
+ identifier: promotionId
6
+ aggregateRoot: true
7
+ summary: A commercial offer evaluated against a cart.
8
+ owners:
9
+ - shopping-platform
10
+ properties:
11
+ - name: promotionId
12
+ type: UUID
13
+ required: true
14
+ description: Unique promotion identifier.
15
+ - name: code
16
+ type: string
17
+ required: false
18
+ description: Optional customer-entered promotion code.
19
+ - name: categoryId
20
+ type: UUID
21
+ required: false
22
+ description: Category the promotion applies to when scoped.
23
+ references: category
24
+ relationType: appliesTo
25
+ referencesIdentifier: categoryId
26
+ - name: status
27
+ type: string
28
+ required: true
29
+ description: Promotion lifecycle state.
30
+ - name: startsAt
31
+ type: datetime
32
+ required: true
33
+ description: When the promotion becomes active.
34
+ ---
35
+
36
+ ## Overview
37
+
38
+ Promotion is owned by the Promotion System and is evaluated when Shopping calculates discounts for a cart.
39
+
40
+ <EntityPropertiesTable />
@@ -0,0 +1,67 @@
1
+ ---
2
+ id: shopping
3
+ name: Shopping
4
+ version: 1.0.0
5
+ summary: |
6
+ The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It coordinates the cart and the discounts that apply to it.
7
+ owners:
8
+ - shopping-platform
9
+ systems:
10
+ - id: cart-system
11
+ version: 1.0.0
12
+ - id: promotion-system
13
+ version: 1.0.0
14
+ entities:
15
+ - id: cart
16
+ version: 1.0.0
17
+ - id: cart-item
18
+ version: 1.0.0
19
+ - id: promotion
20
+ version: 1.0.0
21
+ - id: discount
22
+ version: 1.0.0
23
+ badges:
24
+ - content: Core domain
25
+ backgroundColor: blue
26
+ textColor: blue
27
+ icon: RectangleGroupIcon
28
+ - content: Business Critical
29
+ backgroundColor: red
30
+ textColor: red
31
+ icon: ShieldCheckIcon
32
+ ---
33
+
34
+ ## Overview
35
+
36
+ The **Shopping** domain is responsible for everything between browsing and buying — the shopping cart and the promotions applied to it. It is split into two systems:
37
+
38
+ <Tiles>
39
+ <Tile
40
+ icon="ShoppingCartIcon"
41
+ href="/docs/systems/cart-system/1.0.0"
42
+ title="Cart System"
43
+ description="System of record for shopping carts — add, remove and check out items."
44
+ />
45
+ <Tile
46
+ icon="TagIcon"
47
+ href="/docs/systems/promotion-system/1.0.0"
48
+ title="Promotion System"
49
+ description="Calculates the discounts and promotions that apply to a cart."
50
+ />
51
+ </Tiles>
52
+
53
+ ### How the systems work together
54
+
55
+ The **Cart System** owns the customer's cart and the checkout flow. When pricing a cart, it asks the **Promotion System** to calculate the discounts that apply. When the customer checks out, the Cart System publishes an event the rest of the business reacts to.
56
+
57
+ ## System Diagram
58
+
59
+ The systems in this domain, how they relate, and the people who interact with them.
60
+
61
+ <ContextDiagram />
62
+
63
+ ## Resource Diagram
64
+
65
+ The components that make up this domain.
66
+
67
+ <NodeGraph />
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: cart-database
3
+ name: Cart Database
4
+ version: 1.0.0
5
+ summary: PostgreSQL database that is the system of record for shopping carts and their items.
6
+ container_type: database
7
+ technology: postgres@16
8
+ authoritative: true
9
+ access_mode: readWrite
10
+ purpose: System of record for shopping carts
11
+ classification: internal
12
+ retention: 90d
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 **Cart Database** is the authoritative store for shopping carts at Acme Inc. The [[service|cart-api]] reads from and writes to it as customers add, remove and check out items.
23
+
24
+ ### What does it store?
25
+
26
+ - **Carts** — one row per cart: id, customer, status and timestamps.
27
+ - **Cart Items** — one row per item in a cart: product, quantity and unit price.
28
+
29
+ ### Schema
30
+
31
+ <AccordionGroup>
32
+ <Accordion title="Cart Database schema">
33
+ <Schema file="schema.sql" lang="sql" title="schema.sql" />
34
+ </Accordion>
35
+ </AccordionGroup>
36
+
37
+ ### Retention
38
+
39
+ Carts are transient. Abandoned carts are pruned after **90 days** (see frontmatter). A checked-out cart's contents live on in the [[event|cart-checked-out]] event and downstream order records.
@@ -0,0 +1,22 @@
1
+ -- Cart Database — system of record for shopping carts
2
+
3
+ CREATE TABLE carts (
4
+ cart_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
5
+ customer_id UUID,
6
+ status TEXT NOT NULL DEFAULT 'OPEN'
7
+ CHECK (status IN ('OPEN', 'CHECKED_OUT', 'ABANDONED')),
8
+ currency CHAR(3) NOT NULL DEFAULT 'USD',
9
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
10
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
11
+ );
12
+
13
+ CREATE TABLE cart_items (
14
+ cart_id UUID NOT NULL REFERENCES carts (cart_id) ON DELETE CASCADE,
15
+ product_id UUID NOT NULL,
16
+ quantity INTEGER NOT NULL CHECK (quantity > 0),
17
+ unit_price_cents INTEGER NOT NULL CHECK (unit_price_cents >= 0),
18
+ PRIMARY KEY (cart_id, product_id)
19
+ );
20
+
21
+ CREATE INDEX idx_carts_customer ON carts (customer_id);
22
+ CREATE INDEX idx_carts_status ON carts (status);
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: cart-system
3
+ name: Cart System
4
+ version: 1.0.0
5
+ summary: |
6
+ Internal system that owns the customer's shopping cart and the checkout flow. It is the source of truth for cart contents and publishes an event when a cart is checked out.
7
+ owners:
8
+ - shopping-platform
9
+ services:
10
+ - id: cart-api
11
+ containers:
12
+ - id: cart-database
13
+ relationships:
14
+ - id: promotion-system
15
+ label: calculates discounts via
16
+ actors:
17
+ - id: shopper
18
+ name: Shopper
19
+ label: adds items and checks out
20
+ direction: inbound
21
+ badges:
22
+ - content: Internal
23
+ backgroundColor: gray
24
+ textColor: gray
25
+ icon: LockClosedIcon
26
+ ---
27
+
28
+ ## Overview
29
+
30
+ The **Cart System** owns the shopping cart at Acme Inc. It accepts commands to add and remove items and to check out, persists cart contents in the [[container|cart-database]], and asks the [[system|promotion-system]] to calculate the discounts that apply. When a cart is checked out it publishes a [[event|cart-checked-out]] event.
31
+
32
+ ## Context Diagram
33
+
34
+ How this system relates to the other systems around it.
35
+
36
+ <ContextDiagram />
37
+
38
+ ## Resource Diagram
39
+
40
+ The services, data stores and messages that make up this system.
41
+
42
+ <NodeGraph />
43
+
44
+ ## What's inside
45
+
46
+ | Component | Type | Responsibility |
47
+ | ---------------------------- | ---------- | ----------------------------------------------------------------------------------------- |
48
+ | [[service\|cart-api]] | Service | Public-facing API. Handles add/remove/checkout commands and publishes the checkout event. |
49
+ | [[container\|cart-database]] | Data store | PostgreSQL system of record for shopping carts and their items. |
50
+
51
+ ## Messages this system publishes
52
+
53
+ - [[event|cart-checked-out]] — a customer has checked out their cart.
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: add-item-to-cart
3
+ name: Add Item To Cart
4
+ version: 1.0.0
5
+ summary: |
6
+ Command to add an item to a shopping cart.
7
+ owners:
8
+ - shopping-platform
9
+ schemaPath: schema.json
10
+ operation:
11
+ method: POST
12
+ path: /carts/{cartId}/items
13
+ statusCodes: ['200', '400', '404']
14
+ sidebar:
15
+ badge: 'POST'
16
+ ---
17
+
18
+ import Footer from '@catalog/components/footer.astro';
19
+
20
+ ## Overview
21
+
22
+ `AddItemToCart` is handled by the [[service|cart-api]]. It adds an item (or increases its quantity) in the cart 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,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "AddItemToCart",
4
+ "description": "Command to add an item to 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 add",
14
+ "type": "string",
15
+ "format": "uuid"
16
+ },
17
+ "quantity": {
18
+ "description": "Number of units to add",
19
+ "type": "integer",
20
+ "minimum": 1,
21
+ "default": 1
22
+ }
23
+ },
24
+ "required": ["cartId", "productId", "quantity"]
25
+ }
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: checkout-cart
3
+ name: Checkout Cart
4
+ version: 1.0.0
5
+ summary: |
6
+ Command to check out a shopping cart.
7
+ owners:
8
+ - shopping-platform
9
+ schemaPath: schema.json
10
+ operation:
11
+ method: POST
12
+ path: /carts/{cartId}/checkout
13
+ statusCodes: ['200', '400', '404', '409']
14
+ sidebar:
15
+ badge: 'POST'
16
+ ---
17
+
18
+ import Footer from '@catalog/components/footer.astro';
19
+
20
+ ## Overview
21
+
22
+ `CheckoutCart` is handled by the [[service|cart-api]]. It finalises the cart — pricing it (including discounts from the [[system|promotion-system]]) — and on success publishes a [[event|cart-checked-out]] 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 />