@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,219 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: Product API
4
+ version: 1.0.0
5
+ description: |
6
+ Public-facing API for the Product Catalog System. It is the entry point for
7
+ creating, updating, deleting and reading products. Every change is persisted
8
+ to the product database and recorded in the outbox so product change events
9
+ can be published to the rest of the business.
10
+ contact:
11
+ name: Product Platform
12
+ email: product-platform@acme.test
13
+ servers:
14
+ - url: https://api.acme.test
15
+ description: Production
16
+ tags:
17
+ - name: Products
18
+ description: Manage and read products in the catalog.
19
+ paths:
20
+ /products:
21
+ post:
22
+ operationId: createProduct
23
+ summary: Create a product
24
+ description: Adds a new product to the catalog. On success a `ProductCreated` event is published.
25
+ tags:
26
+ - Products
27
+ requestBody:
28
+ required: true
29
+ content:
30
+ application/json:
31
+ schema:
32
+ $ref: '#/components/schemas/CreateProductRequest'
33
+ responses:
34
+ '201':
35
+ description: The product was created.
36
+ content:
37
+ application/json:
38
+ schema:
39
+ $ref: '#/components/schemas/Product'
40
+ '400':
41
+ description: The request body was invalid.
42
+ content:
43
+ application/json:
44
+ schema:
45
+ $ref: '#/components/schemas/Error'
46
+ '409':
47
+ description: A product with the same SKU already exists.
48
+ content:
49
+ application/json:
50
+ schema:
51
+ $ref: '#/components/schemas/Error'
52
+ /products/{productId}:
53
+ parameters:
54
+ - $ref: '#/components/parameters/ProductId'
55
+ get:
56
+ operationId: getProduct
57
+ summary: Get a product
58
+ description: Returns the current state of a single product by its identifier.
59
+ tags:
60
+ - Products
61
+ responses:
62
+ '200':
63
+ description: The product was found.
64
+ content:
65
+ application/json:
66
+ schema:
67
+ $ref: '#/components/schemas/Product'
68
+ '404':
69
+ description: No product exists with that identifier.
70
+ content:
71
+ application/json:
72
+ schema:
73
+ $ref: '#/components/schemas/Error'
74
+ patch:
75
+ operationId: updateProduct
76
+ summary: Update a product
77
+ description: Applies a partial update to an existing product. On success a `ProductUpdated` event is published.
78
+ tags:
79
+ - Products
80
+ requestBody:
81
+ required: true
82
+ content:
83
+ application/json:
84
+ schema:
85
+ $ref: '#/components/schemas/UpdateProductRequest'
86
+ responses:
87
+ '200':
88
+ description: The product was updated.
89
+ content:
90
+ application/json:
91
+ schema:
92
+ $ref: '#/components/schemas/Product'
93
+ '400':
94
+ description: The request body was invalid.
95
+ content:
96
+ application/json:
97
+ schema:
98
+ $ref: '#/components/schemas/Error'
99
+ '404':
100
+ description: No product exists with that identifier.
101
+ content:
102
+ application/json:
103
+ schema:
104
+ $ref: '#/components/schemas/Error'
105
+ delete:
106
+ operationId: deleteProduct
107
+ summary: Delete a product
108
+ description: Removes a product from the catalog. On success a `ProductDeleted` event is published.
109
+ tags:
110
+ - Products
111
+ parameters:
112
+ - name: reason
113
+ in: query
114
+ required: false
115
+ description: Optional reason the product is being removed.
116
+ schema:
117
+ type: string
118
+ enum: [DISCONTINUED, DUPLICATE, MERCHANT_REQUEST, OTHER]
119
+ responses:
120
+ '204':
121
+ description: The product was deleted.
122
+ '404':
123
+ description: No product exists with that identifier.
124
+ content:
125
+ application/json:
126
+ schema:
127
+ $ref: '#/components/schemas/Error'
128
+ components:
129
+ parameters:
130
+ ProductId:
131
+ name: productId
132
+ in: path
133
+ required: true
134
+ description: Unique identifier of the product.
135
+ schema:
136
+ type: string
137
+ format: uuid
138
+ schemas:
139
+ Product:
140
+ type: object
141
+ required: [productId, sku, name, price, currency, status]
142
+ properties:
143
+ productId:
144
+ type: string
145
+ format: uuid
146
+ sku:
147
+ type: string
148
+ description: Stock keeping unit.
149
+ name:
150
+ type: string
151
+ description:
152
+ type: string
153
+ price:
154
+ type: integer
155
+ description: Price in minor units (e.g. cents).
156
+ minimum: 0
157
+ currency:
158
+ type: string
159
+ pattern: '^[A-Z]{3}$'
160
+ category:
161
+ type: string
162
+ status:
163
+ type: string
164
+ enum: [DRAFT, ACTIVE, ARCHIVED]
165
+ CreateProductRequest:
166
+ type: object
167
+ required: [sku, name, price, currency]
168
+ properties:
169
+ sku:
170
+ type: string
171
+ description: Stock keeping unit — must be unique.
172
+ name:
173
+ type: string
174
+ minLength: 1
175
+ description:
176
+ type: string
177
+ price:
178
+ type: integer
179
+ description: Price in minor units (e.g. cents).
180
+ minimum: 0
181
+ currency:
182
+ type: string
183
+ pattern: '^[A-Z]{3}$'
184
+ category:
185
+ type: string
186
+ status:
187
+ type: string
188
+ description: Initial lifecycle status — defaults to DRAFT.
189
+ enum: [DRAFT, ACTIVE, ARCHIVED]
190
+ UpdateProductRequest:
191
+ type: object
192
+ description: Only the fields supplied are changed.
193
+ minProperties: 1
194
+ properties:
195
+ name:
196
+ type: string
197
+ minLength: 1
198
+ description:
199
+ type: string
200
+ price:
201
+ type: integer
202
+ description: Price in minor units (e.g. cents).
203
+ minimum: 0
204
+ currency:
205
+ type: string
206
+ pattern: '^[A-Z]{3}$'
207
+ category:
208
+ type: string
209
+ status:
210
+ type: string
211
+ enum: [DRAFT, ACTIVE, ARCHIVED]
212
+ Error:
213
+ type: object
214
+ required: [code, message]
215
+ properties:
216
+ code:
217
+ type: string
218
+ message:
219
+ type: string
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: get-product
3
+ name: Get Product
4
+ version: 1.0.0
5
+ summary: |
6
+ Query to fetch a single product by its identifier.
7
+ owners:
8
+ - product-platform
9
+ schemaPath: schema.json
10
+ operation:
11
+ method: GET
12
+ path: /products/{productId}
13
+ statusCodes: ['200', '404']
14
+ sidebar:
15
+ badge: 'GET'
16
+ ---
17
+
18
+ import Footer from '@catalog/components/footer.astro';
19
+
20
+ ## Overview
21
+
22
+ `GetProduct` is handled by the [[service|product-api]]. It returns the current state of a single product, read directly from the [[container|product-database]]. Use the [[system|search-system]] when you need to search across many products instead.
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,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GetProduct",
4
+ "description": "Query to fetch a single product by its identifier, and the product returned",
5
+ "type": "object",
6
+ "properties": {
7
+ "request": {
8
+ "description": "Parameters used to look up the product",
9
+ "type": "object",
10
+ "properties": {
11
+ "productId": {
12
+ "description": "Unique identifier of the product to fetch",
13
+ "type": "string",
14
+ "format": "uuid"
15
+ }
16
+ },
17
+ "required": ["productId"]
18
+ },
19
+ "response": {
20
+ "description": "The product returned by the query",
21
+ "type": "object",
22
+ "properties": {
23
+ "productId": {
24
+ "type": "string",
25
+ "format": "uuid"
26
+ },
27
+ "sku": {
28
+ "type": "string"
29
+ },
30
+ "name": {
31
+ "type": "string"
32
+ },
33
+ "description": {
34
+ "type": "string"
35
+ },
36
+ "price": {
37
+ "description": "Price in minor units (e.g. cents)",
38
+ "type": "integer"
39
+ },
40
+ "currency": {
41
+ "type": "string",
42
+ "pattern": "^[A-Z]{3}$"
43
+ },
44
+ "category": {
45
+ "type": "string"
46
+ },
47
+ "status": {
48
+ "type": "string",
49
+ "enum": ["DRAFT", "ACTIVE", "ARCHIVED"]
50
+ }
51
+ },
52
+ "required": ["productId", "sku", "name", "price", "currency", "status"]
53
+ }
54
+ },
55
+ "required": ["request", "response"]
56
+ }
@@ -0,0 +1,56 @@
1
+ ---
2
+ id: product-search-publisher
3
+ version: 1.0.0
4
+ name: Product Search Publisher
5
+ summary: |
6
+ Reads product changes from the product database (outbox) and reliably publishes product-created, product-updated and product-deleted events for the Search System to consume.
7
+ styles:
8
+ icon: /icons/languages/go.svg
9
+ owners:
10
+ - product-platform
11
+ readsFrom:
12
+ - id: product-database
13
+ sends:
14
+ - id: product-created
15
+ version: 1.0.0
16
+ - id: product-updated
17
+ version: 1.0.0
18
+ - id: product-deleted
19
+ version: 1.0.0
20
+ repository:
21
+ language: Go
22
+ url: 'https://github.com/acme/product-search-publisher'
23
+ ---
24
+
25
+ import Footer from '@catalog/components/footer.astro';
26
+
27
+ ## Overview
28
+
29
+ The **Product Search Publisher** is the bridge between the Product Catalog System and the rest of the business. It uses the [transactional outbox pattern](https://microservices.io/patterns/data/transactional-outbox.html): the [[service|product-api]] records every product change in the [[container|product-database]], and this service reliably reads those changes and publishes them as [[event|product-created]], [[event|product-updated]] and [[event|product-deleted]] events.
30
+
31
+ This guarantees that product changes are never lost and are delivered to the [[system|search-system]] in order.
32
+
33
+ <Tiles>
34
+ <Tile
35
+ icon="BoltIcon"
36
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
37
+ title={`Sends ${frontmatter.sends.length} messages`}
38
+ description="Product change events published for downstream systems"
39
+ />
40
+ </Tiles>
41
+
42
+ ### Responsibilities
43
+
44
+ | Area | Description |
45
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
46
+ | Outbox polling | Reads unpublished product changes from the [[container\|product-database]]. |
47
+ | Reliable publishing | Publishes [[event\|product-created]], [[event\|product-updated]] and [[event\|product-deleted]] with at-least-once delivery. |
48
+ | Ordering | Preserves per-product ordering of change events. |
49
+
50
+ ## Architecture diagram
51
+
52
+ <NodeGraph />
53
+
54
+ <MessageTable format="all" limit={4} />
55
+
56
+ <Footer />
@@ -0,0 +1,48 @@
1
+ ---
2
+ id: product-worker
3
+ version: 1.0.0
4
+ name: Product Worker
5
+ summary: |
6
+ Background worker that handles long-running and asynchronous catalog work off the request path, such as enrichment, image processing and bulk imports.
7
+ styles:
8
+ icon: /icons/languages/go.svg
9
+ owners:
10
+ - product-platform
11
+ readsFrom:
12
+ - id: product-database
13
+ writesTo:
14
+ - id: product-database
15
+ repository:
16
+ language: Go
17
+ url: 'https://github.com/acme/product-worker'
18
+ ---
19
+
20
+ import Footer from '@catalog/components/footer.astro';
21
+
22
+ ## Overview
23
+
24
+ The **Product Worker** keeps the [[service|product-api]] fast by taking slow or asynchronous work off the request path. It reads from and writes back to the [[container|product-database]], handling jobs like data enrichment, image processing and bulk catalog imports.
25
+
26
+ <Tiles>
27
+ <Tile
28
+ icon="BoltIcon"
29
+ href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
30
+ title="View in visualiser"
31
+ description="See how the Product Worker fits into the system"
32
+ />
33
+ </Tiles>
34
+
35
+ ### Responsibilities
36
+
37
+ | Area | Description |
38
+ | ------------ | ----------------------------------------------------------------------------- |
39
+ | Enrichment | Augments product records with derived data after they are created or updated. |
40
+ | Media | Processes and optimises product images asynchronously. |
41
+ | Bulk imports | Ingests large product feeds without blocking the API. |
42
+ | Persistence | Reads from and writes to the [[container\|product-database]]. |
43
+
44
+ ## Architecture diagram
45
+
46
+ <NodeGraph />
47
+
48
+ <Footer />
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: search-index
3
+ name: Search Index
4
+ version: 1.0.0
5
+ summary: The denormalised, search-optimised index of products that powers product search.
6
+ container_type: searchIndex
7
+ technology: opensearch@2
8
+ authoritative: false
9
+ access_mode: readWrite
10
+ purpose: Serve fast, relevant product search
11
+ classification: internal
12
+ retention: rebuildable
13
+ residency: eu-west-1
14
+ styles:
15
+ icon: /icons/analytics/clickhouse.svg
16
+ ---
17
+
18
+ <NodeGraph />
19
+
20
+ ### What is this?
21
+
22
+ The **Search Index** is a denormalised, search-optimised copy of the catalog. It is **not** a source of truth — it can be rebuilt at any time by replaying product events from the [[system|product-catalog-system]]. The [[service|search-indexer]] keeps it up to date, and the [[service|search-api]] reads from it to answer [[query|search-products]] queries.
23
+
24
+ ### What does it store?
25
+
26
+ One document per product, optimised for search:
27
+
28
+ - Searchable text — name and description, analysed for full-text matching.
29
+ - Filterable fields — category, status, price, currency.
30
+ - A relevance signal used to rank results.
31
+
32
+ ### Why is it not authoritative?
33
+
34
+ The system of record is the [[container|product-database]]. The index is a derived read model: if it is ever lost or corrupted, we rebuild it by replaying [[event|product-created]], [[event|product-updated]] and [[event|product-deleted]] events. This keeps search fast without coupling other teams to the catalog database.
35
+
36
+ ### Operational notes
37
+
38
+ - **Rebuildable**: a full reindex is a supported, routine operation.
39
+ - **Eventually consistent**: changes appear in search shortly after the [[service|search-indexer]] processes the corresponding event.
@@ -0,0 +1,130 @@
1
+ ---
2
+ id: product-search-indexing
3
+ name: Product Search Indexing
4
+ version: 1.0.0
5
+ summary: |
6
+ How a change to a product in the catalog reliably flows into the search index — via the outbox, product events and the indexer — so search stays in sync without coupling to the catalog database.
7
+ owners:
8
+ - search-platform
9
+ steps:
10
+ - id: merchant_edits_product
11
+ title: Merchant edits a product
12
+ actor:
13
+ name: Merchant
14
+ summary: A merchant creates or updates a product in the catalog.
15
+ next_step:
16
+ id: product_api
17
+ label: Apply change
18
+
19
+ - id: product_api
20
+ title: Product API
21
+ service:
22
+ id: product-api
23
+ version: 1.0.0
24
+ next_step:
25
+ id: product_database
26
+ label: Write change + outbox row
27
+
28
+ - id: product_database
29
+ title: Product Database
30
+ container:
31
+ id: product-database
32
+ next_step:
33
+ id: outbox_note
34
+ label: Outbox row committed
35
+
36
+ - id: outbox_note
37
+ title: Outbox pattern
38
+ custom:
39
+ title: Transactional outbox
40
+ color: blue
41
+ icon: InboxStackIcon
42
+ type: Pattern
43
+ summary: The product change and an outbox row are written in the same transaction, so the event can never be lost or out of sync with the data.
44
+ properties:
45
+ guarantee: 'change and event are atomic'
46
+ next_step:
47
+ id: product_search_publisher
48
+ label: Drain outbox
49
+
50
+ - id: product_search_publisher
51
+ title: Product Search Publisher
52
+ service:
53
+ id: product-search-publisher
54
+ version: 1.0.0
55
+ next_steps:
56
+ - id: product_created
57
+ label: Created
58
+ - id: product_updated
59
+ label: Updated
60
+ - id: product_deleted
61
+ label: Deleted
62
+
63
+ - id: product_created
64
+ title: Product Created
65
+ message:
66
+ id: product-created
67
+ version: 1.0.0
68
+ next_step:
69
+ id: search_indexer
70
+ label: Index product
71
+
72
+ - id: product_updated
73
+ title: Product Updated
74
+ message:
75
+ id: product-updated
76
+ version: 1.0.0
77
+ next_step:
78
+ id: search_indexer
79
+ label: Re-index product
80
+
81
+ - id: product_deleted
82
+ title: Product Deleted
83
+ message:
84
+ id: product-deleted
85
+ version: 1.0.0
86
+ next_step:
87
+ id: search_indexer
88
+ label: Remove from index
89
+
90
+ - id: search_indexer
91
+ title: Search Indexer
92
+ service:
93
+ id: search-indexer
94
+ version: 1.0.0
95
+ next_step:
96
+ id: search_index
97
+ label: Apply to index
98
+
99
+ - id: search_index
100
+ title: Search Index
101
+ container:
102
+ id: search-index
103
+ next_step:
104
+ id: searchable
105
+ label: Available to search
106
+
107
+ - id: searchable
108
+ title: Product is searchable
109
+ custom:
110
+ title: Product is searchable
111
+ color: green
112
+ icon: MagnifyingGlassIcon
113
+ type: Outcome
114
+ summary: The change is reflected in the search index and immediately available to customers via the Search API.
115
+ properties:
116
+ read_model: 'derived, rebuildable from events'
117
+ ---
118
+
119
+ ## Overview
120
+
121
+ **Product Search Indexing** documents how the [[system|search-system]] keeps its index in sync with the catalog. The search index is a derived read model — never a source of truth — so it can be rebuilt at any time by replaying product events.
122
+
123
+ <NodeGraph />
124
+
125
+ ## How it works
126
+
127
+ 1. A merchant changes a product via the [[service|product-api]], which writes the change and an outbox row to the [[container|product-database]] in one transaction.
128
+ 2. The [[service|product-search-publisher]] reliably drains the outbox and publishes [[event|product-created]], [[event|product-updated]] or [[event|product-deleted]].
129
+ 3. The [[service|search-indexer]] consumes those events and applies them to the [[container|search-index]].
130
+ 4. The change is now searchable via the Search API — with no direct coupling between search and the catalog database.
@@ -0,0 +1,66 @@
1
+ ---
2
+ id: search-system
3
+ name: Search System
4
+ version: 1.0.0
5
+ summary: |
6
+ Internal system that keeps product data searchable. Consumes product change events from the Product Catalog System, maintains a search index, and serves fast product search to the rest of the business.
7
+ owners:
8
+ - search-platform
9
+ services:
10
+ - id: search-api
11
+ - id: search-indexer
12
+ containers:
13
+ - id: search-index
14
+ flows:
15
+ - id: product-search-indexing
16
+ version: 1.0.0
17
+ relationships:
18
+ - id: product-catalog-system
19
+ label: indexes product changes from
20
+ actors:
21
+ - id: shopper
22
+ name: Shopper
23
+ label: searches for products
24
+ direction: inbound
25
+ - id: storefront-team
26
+ name: Storefront Team
27
+ label: integrates product search
28
+ direction: inbound
29
+ badges:
30
+ - content: Internal
31
+ backgroundColor: gray
32
+ textColor: gray
33
+ icon: LockClosedIcon
34
+ ---
35
+
36
+ ## Overview
37
+
38
+ The **Search System** makes the catalog discoverable. It subscribes to product change events published by the [[system|product-catalog-system]], updates its [[container|search-index]], and exposes a search API so other teams can find products without ever touching the catalog database directly.
39
+
40
+ ## Context Diagram
41
+
42
+ How this system relates to the other systems around it.
43
+
44
+ <ContextDiagram />
45
+
46
+ ## Resource Diagram
47
+
48
+ The services, data stores and messages that make up this system.
49
+
50
+ <NodeGraph />
51
+
52
+ ## What's inside
53
+
54
+ | Component | Type | Responsibility |
55
+ | --------------------------- | ---------- | --------------------------------------------------------------------- |
56
+ | [[service\|search-api]] | Service | Public-facing API. Serves product search queries from the index. |
57
+ | [[service\|search-indexer]] | Service | Consumes product change events and keeps the search index up to date. |
58
+ | [[container\|search-index]] | Data store | The index that powers product search. |
59
+
60
+ ## Messages this system consumes
61
+
62
+ The Search System reacts to product changes published by the Product Catalog System:
63
+
64
+ - [[event|product-created]] — index the new product.
65
+ - [[event|product-updated]] — re-index the changed product.
66
+ - [[event|product-deleted]] — remove the product from the index.
@@ -0,0 +1,44 @@
1
+ ---
2
+ id: search-api
3
+ version: 1.0.0
4
+ name: Search API
5
+ summary: |
6
+ Public-facing API that serves fast, relevant product search to the rest of the business, reading from the search index.
7
+ styles:
8
+ icon: /icons/languages/nodejs.svg
9
+ owners:
10
+ - search-platform
11
+ receives:
12
+ - id: search-products
13
+ version: 1.0.0
14
+ readsFrom:
15
+ - id: search-index
16
+ repository:
17
+ language: TypeScript
18
+ url: 'https://github.com/acme/search-api'
19
+ specifications:
20
+ - type: openapi
21
+ path: openapi.yml
22
+ name: Search API
23
+ ---
24
+
25
+ import Footer from '@catalog/components/footer.astro';
26
+
27
+ ## Overview
28
+
29
+ The **Search API** is the front door to the Search System. It answers [[query|search-products]] queries by reading from the [[container|search-index]], which is kept current by the [[service|search-indexer]]. Other teams use this API so they never have to query the catalog database directly.
30
+
31
+ ### Responsibilities
32
+
33
+ | Area | Description |
34
+ | ------ | ------------------------------------------------------------------------------------ |
35
+ | Search | Serves [[query\|search-products]] with full-text matching, filtering and pagination. |
36
+ | Reads | Queries the [[container\|search-index]] — never the catalog database. |
37
+
38
+ ## Architecture diagram
39
+
40
+ <NodeGraph />
41
+
42
+ <MessageTable format="all" limit={4} />
43
+
44
+ <Footer />