@eventcatalog/create-eventcatalog 4.3.2 → 4.3.4-beta.0

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 (466) hide show
  1. package/dist/index.js +8 -4
  2. package/package.json +1 -1
  3. package/templates/amazon-api-gateway/README-template.md +45 -18
  4. package/templates/asyncapi/README-template.md +39 -31
  5. package/templates/confluent/README-template.md +45 -18
  6. package/templates/default/README-template.md +40 -31
  7. package/templates/default/_data/visualizer-layouts/domains-systems-context/catalog/1.0.0.json +31 -0
  8. package/templates/default/_data/visualizer-layouts/domains-systems-context/customer/1.0.0.json +23 -0
  9. package/templates/default/_data/visualizer-layouts/system-context-map/system-context-map/1.0.0.json +91 -0
  10. package/templates/default/_data/visualizer-layouts/systems-context/customer-management-system/1.0.0.json +23 -0
  11. package/templates/default/components/footer.astro +0 -1
  12. package/templates/default/domains/Catalog/entities/category/index.mdx +36 -0
  13. package/templates/default/domains/Catalog/entities/product/index.mdx +37 -0
  14. package/templates/default/domains/Catalog/entities/product-variant/index.mdx +35 -0
  15. package/templates/default/domains/Catalog/entities/search-document/index.mdx +35 -0
  16. package/templates/default/domains/Catalog/index.mdx +65 -0
  17. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-001-use-transactional-outbox/index.mdx +43 -0
  18. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-002-postgres-as-system-of-record/index.mdx +40 -0
  19. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-003-offload-async-work-to-worker/index.mdx +41 -0
  20. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/index.mdx +45 -0
  21. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/schema.sql +33 -0
  22. package/templates/default/domains/Catalog/systems/product-catalog-system/index.mdx +72 -0
  23. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/index.mdx +32 -0
  24. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/schema.json +41 -0
  25. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/index.mdx +32 -0
  26. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/schema.json +19 -0
  27. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/index.mdx +32 -0
  28. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/schema.json +42 -0
  29. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/index.mdx +29 -0
  30. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/schema.json +62 -0
  31. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/index.mdx +29 -0
  32. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/schema.json +29 -0
  33. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/index.mdx +29 -0
  34. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/schema.json +55 -0
  35. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/index.mdx +69 -0
  36. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/openapi.yml +219 -0
  37. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/index.mdx +32 -0
  38. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/schema.json +56 -0
  39. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductSearchPublisher/index.mdx +56 -0
  40. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductWorker/index.mdx +48 -0
  41. package/templates/default/domains/Catalog/systems/search-system/containers/search-index/index.mdx +39 -0
  42. package/templates/default/domains/Catalog/systems/search-system/flows/ProductSearchIndexing/index.mdx +130 -0
  43. package/templates/default/domains/Catalog/systems/search-system/index.mdx +66 -0
  44. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/index.mdx +44 -0
  45. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/openapi.yml +138 -0
  46. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/index.mdx +32 -0
  47. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/schema.json +108 -0
  48. package/templates/default/domains/Catalog/systems/search-system/services/SearchIndexer/index.mdx +54 -0
  49. package/templates/default/domains/Catalog/ubiquitous-language.mdx +54 -0
  50. package/templates/default/domains/Customer/entities/authentication-session/index.mdx +35 -0
  51. package/templates/default/domains/Customer/entities/customer-account/index.mdx +36 -0
  52. package/templates/default/domains/Customer/entities/customer-address/index.mdx +35 -0
  53. package/templates/default/domains/Customer/entities/customer-profile/index.mdx +33 -0
  54. package/templates/default/domains/Customer/index.mdx +67 -0
  55. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/index.mdx +43 -0
  56. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/schema.sql +14 -0
  57. package/templates/default/domains/Customer/systems/customer-management-system/index.mdx +60 -0
  58. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/index.mdx +32 -0
  59. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/schema.json +24 -0
  60. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/index.mdx +32 -0
  61. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/schema.json +29 -0
  62. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/index.mdx +29 -0
  63. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/schema.json +45 -0
  64. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/index.mdx +29 -0
  65. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/schema.json +42 -0
  66. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/index.mdx +72 -0
  67. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/openapi.yml +164 -0
  68. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/index.mdx +32 -0
  69. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/schema.json +47 -0
  70. package/templates/default/domains/Customer/systems/identity-provider/containers/user-directory/index.mdx +36 -0
  71. package/templates/default/domains/Customer/systems/identity-provider/index.mdx +54 -0
  72. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/index.mdx +32 -0
  73. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/schema.json +41 -0
  74. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/index.mdx +29 -0
  75. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/schema.json +33 -0
  76. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/index.mdx +59 -0
  77. package/templates/default/domains/Customer/ubiquitous-language.mdx +48 -0
  78. package/templates/default/domains/Fulfilment/entities/inventory-reservation/index.mdx +39 -0
  79. package/templates/default/domains/Fulfilment/entities/shipment/index.mdx +36 -0
  80. package/templates/default/domains/Fulfilment/entities/stock-item/index.mdx +36 -0
  81. package/templates/default/domains/Fulfilment/entities/warehouse-pick/index.mdx +35 -0
  82. package/templates/default/domains/Fulfilment/index.mdx +83 -0
  83. package/templates/default/domains/Fulfilment/systems/carrier/index.mdx +52 -0
  84. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierShippingAPI/index.mdx +40 -0
  85. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/index.mdx +29 -0
  86. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/schema.json +15 -0
  87. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/index.mdx +29 -0
  88. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/schema.json +13 -0
  89. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/index.mdx +29 -0
  90. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/schema.json +16 -0
  91. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/index.mdx +44 -0
  92. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/index.mdx +35 -0
  93. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/schema.sql +26 -0
  94. package/templates/default/domains/Fulfilment/systems/inventory-system/index.mdx +49 -0
  95. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/index.mdx +32 -0
  96. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/schema.json +14 -0
  97. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/index.mdx +29 -0
  98. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/schema.json +24 -0
  99. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/index.mdx +29 -0
  100. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/schema.json +24 -0
  101. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/index.mdx +67 -0
  102. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/index.mdx +32 -0
  103. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/schema.json +25 -0
  104. package/templates/default/domains/Fulfilment/systems/shipping-system/index.mdx +47 -0
  105. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/index.mdx +32 -0
  106. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/schema.json +26 -0
  107. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/index.mdx +40 -0
  108. package/templates/default/domains/Fulfilment/systems/shipping-system/services/ShippingAPI/index.mdx +40 -0
  109. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/index.mdx +35 -0
  110. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/schema.sql +21 -0
  111. package/templates/default/domains/Fulfilment/systems/warehouse-system/index.mdx +53 -0
  112. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/index.mdx +29 -0
  113. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/schema.json +13 -0
  114. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/index.mdx +44 -0
  115. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/index.mdx +29 -0
  116. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/schema.json +23 -0
  117. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/index.mdx +53 -0
  118. package/templates/default/domains/Fulfilment/ubiquitous-language.mdx +44 -0
  119. package/templates/default/domains/Ordering/entities/checkout-session/index.mdx +36 -0
  120. package/templates/default/domains/Ordering/entities/order/index.mdx +36 -0
  121. package/templates/default/domains/Ordering/entities/order-line/index.mdx +38 -0
  122. package/templates/default/domains/Ordering/entities/order-status-history/index.mdx +35 -0
  123. package/templates/default/domains/Ordering/flows/PlaceAnOrder/index.mdx +158 -0
  124. package/templates/default/domains/Ordering/index.mdx +70 -0
  125. package/templates/default/domains/Ordering/systems/checkout-system/flows/CheckoutSaga/index.mdx +101 -0
  126. package/templates/default/domains/Ordering/systems/checkout-system/index.mdx +57 -0
  127. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutAPI/index.mdx +53 -0
  128. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/index.mdx +32 -0
  129. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/schema.json +29 -0
  130. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/index.mdx +32 -0
  131. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/schema.json +37 -0
  132. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/index.mdx +59 -0
  133. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/index.mdx +39 -0
  134. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/schema.sql +24 -0
  135. package/templates/default/domains/Ordering/systems/order-management-system/flows/OrderCancellation/index.mdx +105 -0
  136. package/templates/default/domains/Ordering/systems/order-management-system/index.mdx +53 -0
  137. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/asyncapi.yml +233 -0
  138. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/index.mdx +32 -0
  139. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/schema.json +19 -0
  140. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/index.mdx +32 -0
  141. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/schema.json +55 -0
  142. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/index.mdx +29 -0
  143. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/schema.json +25 -0
  144. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/index.mdx +29 -0
  145. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/schema.json +21 -0
  146. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/index.mdx +29 -0
  147. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/schema.json +29 -0
  148. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/index.mdx +74 -0
  149. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/index.mdx +32 -0
  150. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/schema.json +64 -0
  151. package/templates/default/domains/Ordering/ubiquitous-language.mdx +53 -0
  152. package/templates/default/domains/Payments/entities/fraud-check/index.mdx +39 -0
  153. package/templates/default/domains/Payments/entities/payment/index.mdx +36 -0
  154. package/templates/default/domains/Payments/entities/payment-authorization/index.mdx +35 -0
  155. package/templates/default/domains/Payments/entities/refund/index.mdx +36 -0
  156. package/templates/default/domains/Payments/index.mdx +69 -0
  157. package/templates/default/domains/Payments/systems/fraud-detection/index.mdx +49 -0
  158. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/index.mdx +29 -0
  159. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/schema.json +22 -0
  160. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/index.mdx +29 -0
  161. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/schema.json +18 -0
  162. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/index.mdx +51 -0
  163. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/index.mdx +39 -0
  164. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/schema.sql +25 -0
  165. package/templates/default/domains/Payments/systems/payment-processing-system/index.mdx +53 -0
  166. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentAPI/index.mdx +51 -0
  167. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/index.mdx +29 -0
  168. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/schema.json +19 -0
  169. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/index.mdx +29 -0
  170. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/schema.json +20 -0
  171. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/index.mdx +66 -0
  172. package/templates/default/domains/Payments/systems/stripe/index.mdx +52 -0
  173. package/templates/default/domains/Payments/systems/stripe/services/StripePaymentsAPI/index.mdx +42 -0
  174. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/index.mdx +29 -0
  175. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/schema.json +16 -0
  176. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/index.mdx +29 -0
  177. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/schema.json +15 -0
  178. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/index.mdx +29 -0
  179. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/schema.json +14 -0
  180. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/index.mdx +44 -0
  181. package/templates/default/domains/Payments/ubiquitous-language.mdx +41 -0
  182. package/templates/default/domains/Reviews/asyncapi.yml +181 -0
  183. package/templates/default/domains/Reviews/containers/rating-cache/index.mdx +29 -0
  184. package/templates/default/domains/Reviews/containers/review-database/index.mdx +33 -0
  185. package/templates/default/domains/Reviews/entities/moderation-decision/index.mdx +38 -0
  186. package/templates/default/domains/Reviews/entities/rating-summary/index.mdx +35 -0
  187. package/templates/default/domains/Reviews/entities/review/index.mdx +63 -0
  188. package/templates/default/domains/Reviews/entities/review-flag/index.mdx +35 -0
  189. package/templates/default/domains/Reviews/entities/review-vote/index.mdx +38 -0
  190. package/templates/default/domains/Reviews/flows/review-submission/index.mdx +120 -0
  191. package/templates/default/domains/Reviews/index.mdx +93 -0
  192. package/templates/default/domains/Reviews/openapi.yml +209 -0
  193. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/index.mdx +29 -0
  194. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/schema.json +12 -0
  195. package/templates/default/domains/Reviews/services/RatingAggregator/index.mdx +47 -0
  196. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/index.mdx +29 -0
  197. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/schema.json +13 -0
  198. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/index.mdx +29 -0
  199. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/schema.json +15 -0
  200. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/index.mdx +29 -0
  201. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/schema.json +12 -0
  202. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/index.mdx +29 -0
  203. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/schema.json +13 -0
  204. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/index.mdx +29 -0
  205. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/schema.json +12 -0
  206. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/index.mdx +29 -0
  207. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/schema.json +15 -0
  208. package/templates/default/domains/Reviews/services/ReviewAPI/index.mdx +58 -0
  209. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/index.mdx +24 -0
  210. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/schema.json +12 -0
  211. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/index.mdx +29 -0
  212. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/schema.json +13 -0
  213. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/index.mdx +29 -0
  214. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/schema.json +12 -0
  215. package/templates/default/domains/Reviews/services/ReviewModerationWorker/index.mdx +50 -0
  216. package/templates/default/domains/Shopping/entities/cart/index.mdx +40 -0
  217. package/templates/default/domains/Shopping/entities/cart-item/index.mdx +38 -0
  218. package/templates/default/domains/Shopping/entities/discount/index.mdx +35 -0
  219. package/templates/default/domains/Shopping/entities/promotion/index.mdx +40 -0
  220. package/templates/default/domains/Shopping/index.mdx +67 -0
  221. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/index.mdx +39 -0
  222. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/schema.sql +22 -0
  223. package/templates/default/domains/Shopping/systems/cart-system/index.mdx +53 -0
  224. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/index.mdx +32 -0
  225. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/schema.json +25 -0
  226. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/index.mdx +32 -0
  227. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/schema.json +23 -0
  228. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/index.mdx +32 -0
  229. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/schema.json +24 -0
  230. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/index.mdx +29 -0
  231. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/schema.json +62 -0
  232. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/index.mdx +72 -0
  233. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/openapi.yml +200 -0
  234. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/index.mdx +40 -0
  235. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/schema.sql +21 -0
  236. package/templates/default/domains/Shopping/systems/promotion-system/index.mdx +48 -0
  237. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/index.mdx +32 -0
  238. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/schema.json +53 -0
  239. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/index.mdx +29 -0
  240. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/schema.json +37 -0
  241. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/index.mdx +59 -0
  242. package/templates/default/domains/Shopping/ubiquitous-language.mdx +48 -0
  243. package/templates/default/eventcatalog.config.js +13 -0
  244. package/templates/default/pages/homepage.astro +109 -0
  245. package/templates/default/public/icons/analytics/clickhouse.svg +1 -0
  246. package/templates/default/public/icons/cache/redis.svg +1 -0
  247. package/templates/default/public/icons/database/postgresql.svg +1 -0
  248. package/templates/default/public/icons/languages/go.svg +1 -0
  249. package/templates/default/public/icons/languages/java.svg +1 -0
  250. package/templates/default/public/icons/languages/nodejs.svg +1 -0
  251. package/templates/default/public/icons/payments/stripe.svg +1 -0
  252. package/templates/default/teams/customer-platform.mdx +18 -0
  253. package/templates/default/teams/fulfilment-platform.mdx +20 -0
  254. package/templates/default/teams/ordering-platform.mdx +18 -0
  255. package/templates/default/teams/payments-platform.mdx +18 -0
  256. package/templates/default/teams/product-platform.mdx +20 -0
  257. package/templates/default/teams/reviews-platform.mdx +20 -0
  258. package/templates/default/teams/search-platform.mdx +19 -0
  259. package/templates/default/teams/shopping-platform.mdx +18 -0
  260. package/templates/default/users/dboyne.mdx +1 -1
  261. package/templates/empty/README-template.md +39 -31
  262. package/templates/eventbridge/README-template.md +44 -17
  263. package/templates/graphql/README-template.md +39 -31
  264. package/templates/index.ts +1 -0
  265. package/templates/openapi/README-template.md +37 -33
  266. package/templates/default/channels/inventory.{env}.events/index.mdx +0 -159
  267. package/templates/default/channels/orders.{env}.events/index.mdx +0 -85
  268. package/templates/default/channels/payment.{env}.events/index.mdx +0 -89
  269. package/templates/default/domains/E-Commerce/index.mdx +0 -140
  270. package/templates/default/domains/E-Commerce/ubiquitous-language.mdx +0 -87
  271. package/templates/default/domains/Orders/changelog.mdx +0 -7
  272. package/templates/default/domains/Orders/entities/CartItem/index.mdx +0 -124
  273. package/templates/default/domains/Orders/entities/Customer/index.mdx +0 -59
  274. package/templates/default/domains/Orders/entities/Order/index.mdx +0 -98
  275. package/templates/default/domains/Orders/entities/OrderItem/index.mdx +0 -62
  276. package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +0 -151
  277. package/templates/default/domains/Orders/index.mdx +0 -117
  278. package/templates/default/domains/Orders/services/InventoryService/changelog.mdx +0 -7
  279. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-dlq/index.mdx +0 -13
  280. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-queue/index.mdx +0 -13
  281. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/index.mdx +0 -45
  282. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/schema.json +0 -28
  283. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/index.mdx +0 -34
  284. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/schema.json +0 -124
  285. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/index.mdx +0 -47
  286. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/schema.json +0 -28
  287. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/changelog.mdx +0 -67
  288. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/examples.config.yaml +0 -15
  289. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-decrease.json +0 -23
  290. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-increase.json +0 -23
  291. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/index.mdx +0 -124
  292. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.avro +0 -13
  293. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.json +0 -35
  294. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/changelog.mdx +0 -26
  295. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/index.mdx +0 -23
  296. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.avro +0 -9
  297. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.json +0 -36
  298. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/changelog.mdx +0 -26
  299. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/index.mdx +0 -108
  300. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.avro +0 -10
  301. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.json +0 -36
  302. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/examples.config.yaml +0 -7
  303. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/product-depleted.json +0 -19
  304. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/index.mdx +0 -102
  305. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/schema.json +0 -28
  306. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/index.mdx +0 -98
  307. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/schema.json +0 -28
  308. package/templates/default/domains/Orders/services/InventoryService/index.mdx +0 -120
  309. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/index.mdx +0 -22
  310. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/schema.json +0 -52
  311. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/index.mdx +0 -40
  312. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/schema.json +0 -27
  313. package/templates/default/domains/Orders/services/InventoryService/versioned/0.0.1/index.mdx +0 -52
  314. package/templates/default/domains/Orders/services/NotificationService/index.mdx +0 -82
  315. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/index.mdx +0 -26
  316. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/schema.json +0 -55
  317. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/index.mdx +0 -26
  318. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/schema.json +0 -46
  319. package/templates/default/domains/Orders/services/OrdersService/changelog.mdx +0 -3
  320. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/address-change.json +0 -36
  321. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/examples.config.yaml +0 -15
  322. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/quantity-change.json +0 -29
  323. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/index.mdx +0 -58
  324. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.avro +0 -75
  325. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.json +0 -70
  326. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/customer-request.json +0 -34
  327. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/examples.config.yaml +0 -15
  328. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/out-of-stock.json +0 -28
  329. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/index.mdx +0 -54
  330. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/schema.json +0 -71
  331. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/examples.config.yaml +0 -15
  332. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/gift-order.json +0 -38
  333. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/standard-order.json +0 -42
  334. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/index.mdx +0 -55
  335. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/schema.json +0 -66
  336. package/templates/default/domains/Orders/services/OrdersService/index.mdx +0 -81
  337. package/templates/default/domains/Orders/services/OrdersService/openapi.yml +0 -185
  338. package/templates/default/domains/Orders/services/OrdersService/order-service-asyncapi.yaml +0 -148
  339. package/templates/default/domains/Orders/services/OrdersService/queries/GetOrder/index.mdx +0 -26
  340. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/changelog.mdx +0 -3
  341. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/index.mdx +0 -40
  342. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/openapi.yml +0 -96
  343. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/order-service-asyncapi.yaml +0 -148
  344. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/index.mdx +0 -22
  345. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/schema.json +0 -13
  346. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/index.mdx +0 -22
  347. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/schema.json +0 -19
  348. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/index.mdx +0 -22
  349. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/schema.json +0 -62
  350. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/index.mdx +0 -22
  351. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/schema.json +0 -29
  352. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/address-not-found.json +0 -23
  353. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/customer-unavailable.json +0 -40
  354. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/damaged-in-transit.json +0 -33
  355. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/examples.config.yaml +0 -23
  356. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/index.mdx +0 -22
  357. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/schema.json +0 -17
  358. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/defective-item.json +0 -33
  359. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/examples.config.yaml +0 -15
  360. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/wrong-item.json +0 -51
  361. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/index.mdx +0 -22
  362. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/schema.json +0 -17
  363. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/examples.config.yaml +0 -15
  364. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/multi-package.json +0 -76
  365. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/single-package.json +0 -51
  366. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/index.mdx +0 -22
  367. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/schema.json +0 -64
  368. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/examples.config.yaml +0 -15
  369. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/front-door-delivery.json +0 -30
  370. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/signed-delivery.json +0 -31
  371. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/index.mdx +0 -22
  372. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/schema.json +0 -17
  373. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/examples.config.yaml +0 -15
  374. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/express-shipping.json +0 -33
  375. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/standard-shipping.json +0 -32
  376. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/index.mdx +0 -22
  377. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/schema.json +0 -17
  378. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/domestic-transit.json +0 -48
  379. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/examples.config.yaml +0 -15
  380. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/international-transit.json +0 -61
  381. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/index.mdx +0 -22
  382. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/schema.json +0 -17
  383. package/templates/default/domains/Orders/services/ShippingService/index.mdx +0 -61
  384. package/templates/default/domains/Orders/ubiquitous-language.mdx +0 -127
  385. package/templates/default/domains/Orders/versioned/0.0.1/index.mdx +0 -21
  386. package/templates/default/domains/Orders/versioned/0.0.2/index.mdx +0 -50
  387. package/templates/default/domains/Payment/entities/Address/index.mdx +0 -165
  388. package/templates/default/domains/Payment/entities/Invoice/index.mdx +0 -92
  389. package/templates/default/domains/Payment/entities/Payment/index.mdx +0 -140
  390. package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +0 -80
  391. package/templates/default/domains/Payment/entities/Transaction/index.mdx +0 -80
  392. package/templates/default/domains/Payment/flows/PaymentProcessed/index.mdx +0 -82
  393. package/templates/default/domains/Payment/index.mdx +0 -40
  394. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-flagged.json +0 -50
  395. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-passed.json +0 -45
  396. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/examples.config.yaml +0 -15
  397. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +0 -50
  398. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +0 -44
  399. package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +0 -62
  400. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +0 -75
  401. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +0 -58
  402. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/card-declined.json +0 -38
  403. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/examples.config.yaml +0 -23
  404. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/expired-card.json +0 -38
  405. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/insufficient-funds.json +0 -38
  406. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +0 -64
  407. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +0 -68
  408. package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +0 -71
  409. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/examples.config.yaml +0 -15
  410. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/express-checkout.json +0 -45
  411. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/standard-checkout.json +0 -52
  412. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/index.mdx +0 -37
  413. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/schema.json +0 -31
  414. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/examples.config.yaml +0 -15
  415. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/international-payment.json +0 -48
  416. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/successful-payment.json +0 -48
  417. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/index.mdx +0 -43
  418. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/schema.json +0 -54
  419. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/index.mdx +0 -43
  420. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/schema.json +0 -54
  421. package/templates/default/domains/Payment/services/PaymentService/index.mdx +0 -41
  422. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/index.mdx +0 -26
  423. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/schema.json +0 -39
  424. package/templates/default/domains/Payment/ubiquitous-language.mdx +0 -96
  425. package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +0 -127
  426. package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +0 -119
  427. package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +0 -118
  428. package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +0 -157
  429. package/templates/default/domains/ProductCatalog/index.mdx +0 -73
  430. package/templates/default/domains/ProductCatalog/ubiquitous-language.mdx +0 -88
  431. package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +0 -71
  432. package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +0 -76
  433. package/templates/default/domains/Subscriptions/flows/CancelSubscription/SubscriptionRenewed/index.mdx +0 -300
  434. package/templates/default/domains/Subscriptions/flows/CancelSubscription/index.mdx +0 -69
  435. package/templates/default/domains/Subscriptions/flows/CancelSubscription/versioned/0.0.1/index.mdx +0 -51
  436. package/templates/default/domains/Subscriptions/index.mdx +0 -35
  437. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/examples.config.yaml +0 -7
  438. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/upcoming-renewal.json +0 -28
  439. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +0 -63
  440. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +0 -54
  441. package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +0 -83
  442. package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +0 -83
  443. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/index.mdx +0 -26
  444. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/schema.json +0 -30
  445. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/index.mdx +0 -26
  446. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/schema.json +0 -31
  447. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/examples.config.yaml +0 -15
  448. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/payment-failure.json +0 -25
  449. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/voluntary-cancellation.json +0 -23
  450. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/index.mdx +0 -26
  451. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/schema.json +0 -35
  452. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/annual-plan.json +0 -26
  453. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/examples.config.yaml +0 -15
  454. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/monthly-plan.json +0 -25
  455. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/index.mdx +0 -26
  456. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/schema.json +0 -36
  457. package/templates/default/domains/Subscriptions/services/SubscriptionService/index.mdx +0 -62
  458. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/index.mdx +0 -26
  459. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/schema.json +0 -54
  460. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/index.mdx +0 -26
  461. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/schema.json +0 -54
  462. package/templates/default/domains/Subscriptions/ubiquitous-language.mdx +0 -129
  463. package/templates/default/teams/full-stack.mdx +0 -26
  464. package/templates/default/teams/mobile-devs.mdx +0 -23
  465. package/templates/default/users/aSmith.mdx +0 -27
  466. package/templates/default/users/mSmith.mdx +0 -9
@@ -0,0 +1,69 @@
1
+ ---
2
+ id: payments
3
+ name: Payments
4
+ version: 1.0.0
5
+ summary: |
6
+ The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an external payment processor, and screens payments for fraud.
7
+ owners:
8
+ - payments-platform
9
+ systems:
10
+ - id: payment-processing-system
11
+ version: 1.0.0
12
+ - id: stripe
13
+ version: 1.0.0
14
+ - id: fraud-detection
15
+ version: 1.0.0
16
+ entities:
17
+ - id: payment
18
+ version: 1.0.0
19
+ - id: payment-authorization
20
+ version: 1.0.0
21
+ - id: refund
22
+ version: 1.0.0
23
+ - id: fraud-check
24
+ version: 1.0.0
25
+ badges:
26
+ - content: Core domain
27
+ backgroundColor: blue
28
+ textColor: blue
29
+ icon: RectangleGroupIcon
30
+ - content: Business Critical
31
+ backgroundColor: red
32
+ textColor: red
33
+ icon: ShieldCheckIcon
34
+ ---
35
+
36
+ ## Overview
37
+
38
+ The **Payments** domain is responsible for moving money. It authorizes and captures payment for orders, issues refunds, and screens payments for fraud. It owns one internal system and integrates with two external providers:
39
+
40
+ <Tiles>
41
+ <Tile
42
+ icon="CreditCardIcon"
43
+ href="/docs/systems/payment-processing-system/1.0.0"
44
+ title="Payment Processing System"
45
+ description="Orchestrates authorization, capture and refunds for orders."
46
+ />
47
+ <Tile
48
+ icon="BuildingLibraryIcon"
49
+ href="/docs/systems/stripe/1.0.0"
50
+ title="Stripe"
51
+ description="External payment processor that charges cards and issues refunds."
52
+ />
53
+ <Tile
54
+ icon="ShieldExclamationIcon"
55
+ href="/docs/systems/fraud-detection/1.0.0"
56
+ title="Fraud Detection"
57
+ description="External provider that screens payments for fraud."
58
+ />
59
+ </Tiles>
60
+
61
+ ### How the systems work together
62
+
63
+ The **Payment Processing System** is the internal orchestrator. When the Ordering domain authorizes a payment, it requests payment via the external **Stripe** system and, in parallel, asks **Fraud Detection** to screen the payment. Stripe reports back whether the payment succeeded or failed, and the Payment Processing System records the outcome.
64
+
65
+ ## System Diagram
66
+
67
+ The systems in this domain, how they relate, and the people who interact with them.
68
+
69
+ <ContextDiagram />
@@ -0,0 +1,49 @@
1
+ ---
2
+ id: fraud-detection
3
+ name: Fraud Detection
4
+ version: 1.0.0
5
+ scope: external
6
+ summary: |
7
+ External provider that screens payments for fraud. It consumes payment requests and returns a pass or fail verdict.
8
+ owners:
9
+ - payments-platform
10
+ services:
11
+ - id: fraud-api
12
+ relationships:
13
+ - id: payment-processing-system
14
+ label: screens payments for
15
+ badges:
16
+ - content: External
17
+ backgroundColor: yellow
18
+ textColor: yellow
19
+ icon: GlobeAltIcon
20
+ ---
21
+
22
+ ## Overview
23
+
24
+ **Fraud Detection** is an external provider Acme Inc uses to screen payments for fraud. It is owned and operated by a third party — modelled here as an **external system** so the catalog shows how the [[system|payment-processing-system]] integrates with it.
25
+
26
+ It consumes [[event|payment-requested]] and returns a verdict via [[event|fraud-check-passed]] or [[event|fraud-check-failed]].
27
+
28
+ ## Context Diagram
29
+
30
+ How this system relates to the other systems around it.
31
+
32
+ <ContextDiagram />
33
+
34
+ ## Resource Diagram
35
+
36
+ The services and messages that make up this system.
37
+
38
+ <NodeGraph />
39
+
40
+ ## What's inside
41
+
42
+ | Component | Type | Responsibility |
43
+ | ---------------------- | ------- | ------------------------------------------------------------ |
44
+ | [[service\|fraud-api]] | Service | Screens a payment for fraud and returns a pass/fail verdict. |
45
+
46
+ ## Messages this system publishes
47
+
48
+ - [[event\|fraud-check-passed]] — a payment passed fraud screening.
49
+ - [[event\|fraud-check-failed]] — a payment failed fraud screening.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: fraud-check-failed
3
+ name: Fraud Check Failed
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a payment fails fraud screening.
7
+ owners:
8
+ - payments-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
+ `FraudCheckFailed` is published by the [[service|fraud-api]] when a payment is flagged as fraudulent. The [[system|payment-processing-system]] uses it to block the charge and cancel the order.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "FraudCheckFailed",
4
+ "description": "Published when a payment fails fraud screening",
5
+ "type": "object",
6
+ "properties": {
7
+ "paymentId": { "type": "string", "format": "uuid" },
8
+ "orderId": { "type": "string", "format": "uuid" },
9
+ "score": {
10
+ "type": "number",
11
+ "minimum": 0,
12
+ "maximum": 1,
13
+ "description": "Fraud risk score; higher is riskier"
14
+ },
15
+ "reason": {
16
+ "type": "string",
17
+ "enum": ["HIGH_RISK_SCORE", "BLOCKLISTED", "VELOCITY", "MISMATCH"]
18
+ },
19
+ "checkedAt": { "type": "string", "format": "date-time" }
20
+ },
21
+ "required": ["paymentId", "orderId", "reason", "checkedAt"]
22
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: fraud-check-passed
3
+ name: Fraud Check Passed
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when a payment passes fraud screening.
7
+ owners:
8
+ - payments-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
+ `FraudCheckPassed` is published by the [[service|fraud-api]] when a payment clears fraud screening. The [[system|payment-processing-system]] uses it to allow the charge to proceed.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "FraudCheckPassed",
4
+ "description": "Published when a payment passes fraud screening",
5
+ "type": "object",
6
+ "properties": {
7
+ "paymentId": { "type": "string", "format": "uuid" },
8
+ "orderId": { "type": "string", "format": "uuid" },
9
+ "score": {
10
+ "type": "number",
11
+ "minimum": 0,
12
+ "maximum": 1,
13
+ "description": "Fraud risk score; lower is safer"
14
+ },
15
+ "checkedAt": { "type": "string", "format": "date-time" }
16
+ },
17
+ "required": ["paymentId", "orderId", "checkedAt"]
18
+ }
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: fraud-api
3
+ version: 1.0.0
4
+ name: Fraud API
5
+ summary: |
6
+ External fraud screening API. It consumes payment requests and returns a pass or fail verdict for each.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - payments-platform
11
+ receives:
12
+ - id: payment-requested
13
+ version: 1.0.0
14
+ sends:
15
+ - id: fraud-check-passed
16
+ version: 1.0.0
17
+ - id: fraud-check-failed
18
+ version: 1.0.0
19
+ repository:
20
+ language: External
21
+ url: 'https://github.com/acme/fraud-api'
22
+ ---
23
+
24
+ import Footer from '@catalog/components/footer.astro';
25
+
26
+ ## Overview
27
+
28
+ The **Fraud API** screens payments for fraud. It consumes [[event|payment-requested]] from the [[system|payment-processing-system]] and returns a verdict — [[event|fraud-check-passed]] or [[event|fraud-check-failed]] — which the Payments domain uses to allow or block the charge.
29
+
30
+ <Tiles>
31
+ <Tile
32
+ icon="BoltIcon"
33
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
34
+ title={`Sends ${frontmatter.sends.length} messages`}
35
+ description="Fraud verdicts"
36
+ />
37
+ <Tile
38
+ icon="BoltIcon"
39
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
40
+ title={`Receives ${frontmatter.receives.length} message`}
41
+ description="Payment requests to screen"
42
+ />
43
+ </Tiles>
44
+
45
+ ## Architecture diagram
46
+
47
+ <NodeGraph />
48
+
49
+ <MessageTable format="all" limit={8} />
50
+
51
+ <Footer />
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: payment-database
3
+ name: Payment Database
4
+ version: 1.0.0
5
+ summary: PostgreSQL database that is the system of record for payments and refunds.
6
+ container_type: database
7
+ technology: postgres@16
8
+ authoritative: true
9
+ access_mode: readWrite
10
+ purpose: System of record for payments and refunds
11
+ classification: confidential
12
+ retention: 7y
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 **Payment Database** is the authoritative store for payments and refunds at Acme Inc. The [[service|payment-api]] and [[service|payment-worker]] read from and write to it as payments are authorized, charged and refunded.
23
+
24
+ ### What does it store?
25
+
26
+ - **Payments** — one row per payment: id, order, amount, status and timestamps.
27
+ - **Refunds** — one row per refund: id, payment, amount, status and timestamps.
28
+
29
+ ### Schema
30
+
31
+ <AccordionGroup>
32
+ <Accordion title="Payment Database schema">
33
+ <Schema file="schema.sql" lang="sql" title="schema.sql" />
34
+ </Accordion>
35
+ </AccordionGroup>
36
+
37
+ ### Retention
38
+
39
+ Payments and refunds are financial records and are retained for **7 years** (see frontmatter) to meet accounting and audit requirements.
@@ -0,0 +1,25 @@
1
+ -- Payment Database — system of record for payments and refunds
2
+
3
+ CREATE TABLE payments (
4
+ payment_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
5
+ order_id UUID NOT NULL,
6
+ customer_id UUID,
7
+ amount_cents INTEGER NOT NULL CHECK (amount_cents >= 0),
8
+ currency CHAR(3) NOT NULL DEFAULT 'USD',
9
+ status TEXT NOT NULL DEFAULT 'REQUESTED'
10
+ CHECK (status IN ('REQUESTED', 'SUCCEEDED', 'FAILED')),
11
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
12
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
13
+ );
14
+
15
+ CREATE TABLE refunds (
16
+ refund_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
17
+ payment_id UUID NOT NULL REFERENCES payments (payment_id),
18
+ amount_cents INTEGER NOT NULL CHECK (amount_cents >= 0),
19
+ status TEXT NOT NULL DEFAULT 'REQUESTED'
20
+ CHECK (status IN ('REQUESTED', 'PROCESSED', 'FAILED')),
21
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
22
+ );
23
+
24
+ CREATE INDEX idx_payments_order ON payments (order_id);
25
+ CREATE INDEX idx_payments_status ON payments (status);
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: payment-processing-system
3
+ name: Payment Processing System
4
+ version: 1.0.0
5
+ summary: |
6
+ Internal system that orchestrates payment for orders. It authorizes payments, requests charges from the external payment processor, handles the outcome, and issues refunds.
7
+ owners:
8
+ - payments-platform
9
+ services:
10
+ - id: payment-api
11
+ - id: payment-worker
12
+ containers:
13
+ - id: payment-database
14
+ relationships:
15
+ - id: stripe
16
+ label: requests charges from
17
+ - id: fraud-detection
18
+ label: screens payments with
19
+ badges:
20
+ - content: Internal
21
+ backgroundColor: gray
22
+ textColor: gray
23
+ icon: LockClosedIcon
24
+ ---
25
+
26
+ ## Overview
27
+
28
+ The **Payment Processing System** is the internal heart of the Payments domain. When the Ordering domain sends [[command|authorize-payment]], the [[service|payment-api]] records the intent in the [[container|payment-database]] and the [[service|payment-worker]] requests a charge from the external [[system|stripe]] via [[event|payment-requested]]. Stripe reports the outcome back as [[event|payment-succeeded]] or [[event|payment-failed]], which the worker records. The system also issues refunds via [[event|refund-requested]].
29
+
30
+ ## Context Diagram
31
+
32
+ How this system relates to the other systems around it.
33
+
34
+ <ContextDiagram />
35
+
36
+ ## Resource Diagram
37
+
38
+ The services, data stores and messages that make up this system.
39
+
40
+ <NodeGraph />
41
+
42
+ ## What's inside
43
+
44
+ | Component | Type | Responsibility |
45
+ | ------------------------------- | ---------- | --------------------------------------------------------------- |
46
+ | [[service\|payment-api]] | Service | Receives authorization requests and records payment intent. |
47
+ | [[service\|payment-worker]] | Service | Drives charges and refunds against Stripe and records outcomes. |
48
+ | [[container\|payment-database]] | Data store | PostgreSQL system of record for payments and refunds. |
49
+
50
+ ## Messages this system publishes
51
+
52
+ - [[event\|payment-requested]] — a charge has been requested from the payment processor.
53
+ - [[event\|refund-requested]] — a refund has been requested from the payment processor.
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: payment-api
3
+ version: 1.0.0
4
+ name: Payment API
5
+ summary: |
6
+ Receives payment authorization requests from the Ordering domain and records the payment intent, kicking off the charge against the payment processor.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - payments-platform
11
+ receives:
12
+ - id: authorize-payment
13
+ version: 1.0.0
14
+ writesTo:
15
+ - id: payment-database
16
+ readsFrom:
17
+ - id: payment-database
18
+ repository:
19
+ language: TypeScript
20
+ url: 'https://github.com/acme/payment-api'
21
+ ---
22
+
23
+ import Footer from '@catalog/components/footer.astro';
24
+
25
+ ## Overview
26
+
27
+ The **Payment API** is the entry point to the Payment Processing System. It receives [[command|authorize-payment]] from the Ordering domain, records the payment intent in the [[container|payment-database]], and leaves the [[service|payment-worker]] to drive the charge against [[system|stripe]].
28
+
29
+ <Tiles>
30
+ <Tile
31
+ icon="BoltIcon"
32
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
33
+ title={`Receives ${frontmatter.receives.length} message`}
34
+ description="The authorize-payment command from Ordering"
35
+ />
36
+ </Tiles>
37
+
38
+ ### Responsibilities
39
+
40
+ | Area | Description |
41
+ | ------------- | -------------------------------------------------------------- |
42
+ | Authorization | Receives and validates [[command\|authorize-payment]]. |
43
+ | Persistence | Records payment intent in the [[container\|payment-database]]. |
44
+
45
+ ## Architecture diagram
46
+
47
+ <NodeGraph />
48
+
49
+ <MessageTable format="all" limit={8} />
50
+
51
+ <Footer />
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: payment-requested
3
+ name: Payment Requested
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when the Payment Processing System requests a charge from the payment processor.
7
+ owners:
8
+ - payments-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
+ `PaymentRequested` is published by the [[service|payment-worker]] to ask the external [[system|stripe]] to charge a customer for an order. Stripe responds with [[event|payment-succeeded]] or [[event|payment-failed]]. The [[system|fraud-detection]] system also consumes this event to screen the payment.
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "PaymentRequested",
4
+ "description": "Published when a charge is requested from the payment processor",
5
+ "type": "object",
6
+ "properties": {
7
+ "paymentId": { "type": "string", "format": "uuid" },
8
+ "orderId": { "type": "string", "format": "uuid" },
9
+ "customerId": { "type": "string", "format": "uuid" },
10
+ "amount": {
11
+ "type": "integer",
12
+ "minimum": 0,
13
+ "description": "Amount to charge, in minor units (e.g. cents)"
14
+ },
15
+ "currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
16
+ "requestedAt": { "type": "string", "format": "date-time" }
17
+ },
18
+ "required": ["paymentId", "orderId", "amount", "currency", "requestedAt"]
19
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: refund-requested
3
+ name: Refund Requested
4
+ version: 1.0.0
5
+ summary: |
6
+ Published when the Payment Processing System requests a refund from the payment processor.
7
+ owners:
8
+ - payments-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
+ `RefundRequested` is published by the [[service|payment-worker]] to ask the external [[system|stripe]] to refund a previous charge — for example when an order is cancelled after payment. Stripe responds with [[event|refund-processed]].
22
+
23
+ <SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
24
+
25
+ ## Architecture diagram
26
+
27
+ <NodeGraph />
28
+
29
+ <Footer />
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "RefundRequested",
4
+ "description": "Published when a refund is requested from the payment processor",
5
+ "type": "object",
6
+ "properties": {
7
+ "refundId": { "type": "string", "format": "uuid" },
8
+ "paymentId": { "type": "string", "format": "uuid" },
9
+ "orderId": { "type": "string", "format": "uuid" },
10
+ "amount": {
11
+ "type": "integer",
12
+ "minimum": 0,
13
+ "description": "Amount to refund, in minor units (e.g. cents)"
14
+ },
15
+ "currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
16
+ "reason": { "type": "string" },
17
+ "requestedAt": { "type": "string", "format": "date-time" }
18
+ },
19
+ "required": ["refundId", "paymentId", "amount", "currency", "requestedAt"]
20
+ }
@@ -0,0 +1,66 @@
1
+ ---
2
+ id: payment-worker
3
+ version: 1.0.0
4
+ name: Payment Worker
5
+ summary: |
6
+ Drives charges and refunds against the external payment processor and records the outcomes. It requests payments and refunds, and consumes the success/failure events Stripe returns.
7
+ styles:
8
+ icon: /icons/languages/go.svg
9
+ owners:
10
+ - payments-platform
11
+ receives:
12
+ - id: payment-succeeded
13
+ version: 1.0.0
14
+ - id: payment-failed
15
+ version: 1.0.0
16
+ sends:
17
+ - id: payment-requested
18
+ version: 1.0.0
19
+ - id: refund-requested
20
+ version: 1.0.0
21
+ writesTo:
22
+ - id: payment-database
23
+ readsFrom:
24
+ - id: payment-database
25
+ repository:
26
+ language: Go
27
+ url: 'https://github.com/acme/payment-worker'
28
+ ---
29
+
30
+ import Footer from '@catalog/components/footer.astro';
31
+
32
+ ## Overview
33
+
34
+ The **Payment Worker** drives money movement. It requests charges from the external [[system|stripe]] via [[event|payment-requested]] and refunds via [[event|refund-requested]], then consumes the [[event|payment-succeeded]] and [[event|payment-failed]] events Stripe returns and records the outcome in the [[container|payment-database]].
35
+
36
+ <Tiles>
37
+ <Tile
38
+ icon="BoltIcon"
39
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
40
+ title={`Sends ${frontmatter.sends.length} messages`}
41
+ description="Payment and refund requests"
42
+ />
43
+ <Tile
44
+ icon="BoltIcon"
45
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
46
+ title={`Receives ${frontmatter.receives.length} messages`}
47
+ description="Payment outcomes from Stripe"
48
+ />
49
+ </Tiles>
50
+
51
+ ### Responsibilities
52
+
53
+ | Area | Description |
54
+ | ----------- | ----------------------------------------------------------------------------------- |
55
+ | Charging | Requests charges via [[event\|payment-requested]]. |
56
+ | Refunds | Requests refunds via [[event\|refund-requested]]. |
57
+ | Outcomes | Consumes [[event\|payment-succeeded]] / [[event\|payment-failed]] and records them. |
58
+ | Persistence | Reads from and writes to the [[container\|payment-database]]. |
59
+
60
+ ## Architecture diagram
61
+
62
+ <NodeGraph />
63
+
64
+ <MessageTable format="all" limit={8} />
65
+
66
+ <Footer />
@@ -0,0 +1,52 @@
1
+ ---
2
+ id: stripe
3
+ name: Stripe
4
+ version: 1.0.0
5
+ scope: external
6
+ summary: |
7
+ External payment processor used by Acme Inc to charge cards and issue refunds. It receives payment and refund requests and reports outcomes back via webhook events.
8
+ owners:
9
+ - payments-platform
10
+ services:
11
+ - id: stripe-payments-api
12
+ - id: stripe-webhook-endpoint
13
+ relationships:
14
+ - id: payment-processing-system
15
+ label: processes payments for
16
+ badges:
17
+ - content: External
18
+ backgroundColor: yellow
19
+ textColor: yellow
20
+ icon: GlobeAltIcon
21
+ ---
22
+
23
+ ## Overview
24
+
25
+ [Stripe](https://stripe.com) is the external payment processor Acme Inc uses to charge customer cards and issue refunds. It is owned and operated by Stripe — modelled here as an **external system** so the catalog shows how the [[system|payment-processing-system]] integrates with it.
26
+
27
+ Stripe receives [[event|payment-requested]] and [[event|refund-requested]], and reports outcomes back via [[event|payment-succeeded]], [[event|payment-failed]] and [[event|refund-processed]].
28
+
29
+ ## Context Diagram
30
+
31
+ How this system relates to the other systems around it.
32
+
33
+ <ContextDiagram />
34
+
35
+ ## Resource Diagram
36
+
37
+ The services and messages that make up this system.
38
+
39
+ <NodeGraph />
40
+
41
+ ## What's inside
42
+
43
+ | Component | Type | Responsibility |
44
+ | ------------------------------------ | ------- | ------------------------------------------------------------------------ |
45
+ | [[service\|stripe-payments-api]] | Service | Accepts charge and refund requests and processes them. |
46
+ | [[service\|stripe-webhook-endpoint]] | Service | Delivers payment and refund outcomes back to Acme Inc as webhook events. |
47
+
48
+ ## Messages this system publishes
49
+
50
+ - [[event\|payment-succeeded]] — a charge succeeded.
51
+ - [[event\|payment-failed]] — a charge failed.
52
+ - [[event\|refund-processed]] — a refund was processed.