@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.
- package/dist/index.js +8 -4
- package/package.json +1 -1
- package/templates/amazon-api-gateway/README-template.md +45 -18
- package/templates/asyncapi/README-template.md +39 -31
- package/templates/confluent/README-template.md +45 -18
- package/templates/default/README-template.md +40 -31
- package/templates/default/_data/visualizer-layouts/domains-systems-context/catalog/1.0.0.json +31 -0
- package/templates/default/_data/visualizer-layouts/domains-systems-context/customer/1.0.0.json +23 -0
- package/templates/default/_data/visualizer-layouts/system-context-map/system-context-map/1.0.0.json +91 -0
- package/templates/default/_data/visualizer-layouts/systems-context/customer-management-system/1.0.0.json +23 -0
- package/templates/default/components/footer.astro +0 -1
- package/templates/default/domains/Catalog/entities/category/index.mdx +36 -0
- package/templates/default/domains/Catalog/entities/product/index.mdx +37 -0
- package/templates/default/domains/Catalog/entities/product-variant/index.mdx +35 -0
- package/templates/default/domains/Catalog/entities/search-document/index.mdx +35 -0
- package/templates/default/domains/Catalog/index.mdx +65 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-001-use-transactional-outbox/index.mdx +43 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-002-postgres-as-system-of-record/index.mdx +40 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-003-offload-async-work-to-worker/index.mdx +41 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/index.mdx +45 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/schema.sql +33 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/index.mdx +72 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/index.mdx +32 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/schema.json +41 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/index.mdx +32 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/schema.json +19 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/index.mdx +32 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/schema.json +42 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/index.mdx +29 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/schema.json +62 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/index.mdx +29 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/schema.json +29 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/index.mdx +29 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/schema.json +55 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/index.mdx +69 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/openapi.yml +219 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/index.mdx +32 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/schema.json +56 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductSearchPublisher/index.mdx +56 -0
- package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductWorker/index.mdx +48 -0
- package/templates/default/domains/Catalog/systems/search-system/containers/search-index/index.mdx +39 -0
- package/templates/default/domains/Catalog/systems/search-system/flows/ProductSearchIndexing/index.mdx +130 -0
- package/templates/default/domains/Catalog/systems/search-system/index.mdx +66 -0
- package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/index.mdx +44 -0
- package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/openapi.yml +138 -0
- package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/index.mdx +32 -0
- package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/schema.json +108 -0
- package/templates/default/domains/Catalog/systems/search-system/services/SearchIndexer/index.mdx +54 -0
- package/templates/default/domains/Catalog/ubiquitous-language.mdx +54 -0
- package/templates/default/domains/Customer/entities/authentication-session/index.mdx +35 -0
- package/templates/default/domains/Customer/entities/customer-account/index.mdx +36 -0
- package/templates/default/domains/Customer/entities/customer-address/index.mdx +35 -0
- package/templates/default/domains/Customer/entities/customer-profile/index.mdx +33 -0
- package/templates/default/domains/Customer/index.mdx +67 -0
- package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/index.mdx +43 -0
- package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/schema.sql +14 -0
- package/templates/default/domains/Customer/systems/customer-management-system/index.mdx +60 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/index.mdx +32 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/schema.json +24 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/index.mdx +32 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/schema.json +29 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/index.mdx +29 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/schema.json +45 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/index.mdx +29 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/schema.json +42 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/index.mdx +72 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/openapi.yml +164 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/index.mdx +32 -0
- package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/schema.json +47 -0
- package/templates/default/domains/Customer/systems/identity-provider/containers/user-directory/index.mdx +36 -0
- package/templates/default/domains/Customer/systems/identity-provider/index.mdx +54 -0
- package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/index.mdx +32 -0
- package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/schema.json +41 -0
- package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/index.mdx +29 -0
- package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/schema.json +33 -0
- package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/index.mdx +59 -0
- package/templates/default/domains/Customer/ubiquitous-language.mdx +48 -0
- package/templates/default/domains/Fulfilment/entities/inventory-reservation/index.mdx +39 -0
- package/templates/default/domains/Fulfilment/entities/shipment/index.mdx +36 -0
- package/templates/default/domains/Fulfilment/entities/stock-item/index.mdx +36 -0
- package/templates/default/domains/Fulfilment/entities/warehouse-pick/index.mdx +35 -0
- package/templates/default/domains/Fulfilment/index.mdx +83 -0
- package/templates/default/domains/Fulfilment/systems/carrier/index.mdx +52 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierShippingAPI/index.mdx +40 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/schema.json +15 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/schema.json +13 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/schema.json +16 -0
- package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/index.mdx +44 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/index.mdx +35 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/schema.sql +26 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/index.mdx +49 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/index.mdx +32 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/schema.json +14 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/schema.json +24 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/schema.json +24 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/index.mdx +67 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/index.mdx +32 -0
- package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/schema.json +25 -0
- package/templates/default/domains/Fulfilment/systems/shipping-system/index.mdx +47 -0
- package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/index.mdx +32 -0
- package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/schema.json +26 -0
- package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/index.mdx +40 -0
- package/templates/default/domains/Fulfilment/systems/shipping-system/services/ShippingAPI/index.mdx +40 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/index.mdx +35 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/schema.sql +21 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/index.mdx +53 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/schema.json +13 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/index.mdx +44 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/index.mdx +29 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/schema.json +23 -0
- package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/index.mdx +53 -0
- package/templates/default/domains/Fulfilment/ubiquitous-language.mdx +44 -0
- package/templates/default/domains/Ordering/entities/checkout-session/index.mdx +36 -0
- package/templates/default/domains/Ordering/entities/order/index.mdx +36 -0
- package/templates/default/domains/Ordering/entities/order-line/index.mdx +38 -0
- package/templates/default/domains/Ordering/entities/order-status-history/index.mdx +35 -0
- package/templates/default/domains/Ordering/flows/PlaceAnOrder/index.mdx +158 -0
- package/templates/default/domains/Ordering/index.mdx +70 -0
- package/templates/default/domains/Ordering/systems/checkout-system/flows/CheckoutSaga/index.mdx +101 -0
- package/templates/default/domains/Ordering/systems/checkout-system/index.mdx +57 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutAPI/index.mdx +53 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/index.mdx +32 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/schema.json +29 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/index.mdx +32 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/schema.json +37 -0
- package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/index.mdx +59 -0
- package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/index.mdx +39 -0
- package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/schema.sql +24 -0
- package/templates/default/domains/Ordering/systems/order-management-system/flows/OrderCancellation/index.mdx +105 -0
- package/templates/default/domains/Ordering/systems/order-management-system/index.mdx +53 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/asyncapi.yml +233 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/index.mdx +32 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/schema.json +19 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/index.mdx +32 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/schema.json +55 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/index.mdx +29 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/schema.json +25 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/index.mdx +29 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/schema.json +21 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/index.mdx +29 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/schema.json +29 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/index.mdx +74 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/index.mdx +32 -0
- package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/schema.json +64 -0
- package/templates/default/domains/Ordering/ubiquitous-language.mdx +53 -0
- package/templates/default/domains/Payments/entities/fraud-check/index.mdx +39 -0
- package/templates/default/domains/Payments/entities/payment/index.mdx +36 -0
- package/templates/default/domains/Payments/entities/payment-authorization/index.mdx +35 -0
- package/templates/default/domains/Payments/entities/refund/index.mdx +36 -0
- package/templates/default/domains/Payments/index.mdx +69 -0
- package/templates/default/domains/Payments/systems/fraud-detection/index.mdx +49 -0
- package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/schema.json +22 -0
- package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/schema.json +18 -0
- package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/index.mdx +51 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/index.mdx +39 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/schema.sql +25 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/index.mdx +53 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentAPI/index.mdx +51 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/schema.json +19 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/schema.json +20 -0
- package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/index.mdx +66 -0
- package/templates/default/domains/Payments/systems/stripe/index.mdx +52 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripePaymentsAPI/index.mdx +42 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/schema.json +16 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/schema.json +15 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/index.mdx +29 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/schema.json +14 -0
- package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/index.mdx +44 -0
- package/templates/default/domains/Payments/ubiquitous-language.mdx +41 -0
- package/templates/default/domains/Reviews/asyncapi.yml +181 -0
- package/templates/default/domains/Reviews/containers/rating-cache/index.mdx +29 -0
- package/templates/default/domains/Reviews/containers/review-database/index.mdx +33 -0
- package/templates/default/domains/Reviews/entities/moderation-decision/index.mdx +38 -0
- package/templates/default/domains/Reviews/entities/rating-summary/index.mdx +35 -0
- package/templates/default/domains/Reviews/entities/review/index.mdx +63 -0
- package/templates/default/domains/Reviews/entities/review-flag/index.mdx +35 -0
- package/templates/default/domains/Reviews/entities/review-vote/index.mdx +38 -0
- package/templates/default/domains/Reviews/flows/review-submission/index.mdx +120 -0
- package/templates/default/domains/Reviews/index.mdx +93 -0
- package/templates/default/domains/Reviews/openapi.yml +209 -0
- package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/schema.json +12 -0
- package/templates/default/domains/Reviews/services/RatingAggregator/index.mdx +47 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/schema.json +13 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/schema.json +15 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/schema.json +12 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/schema.json +13 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/schema.json +12 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/schema.json +15 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/index.mdx +58 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/index.mdx +24 -0
- package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/schema.json +12 -0
- package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/schema.json +13 -0
- package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/index.mdx +29 -0
- package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/schema.json +12 -0
- package/templates/default/domains/Reviews/services/ReviewModerationWorker/index.mdx +50 -0
- package/templates/default/domains/Shopping/entities/cart/index.mdx +40 -0
- package/templates/default/domains/Shopping/entities/cart-item/index.mdx +38 -0
- package/templates/default/domains/Shopping/entities/discount/index.mdx +35 -0
- package/templates/default/domains/Shopping/entities/promotion/index.mdx +40 -0
- package/templates/default/domains/Shopping/index.mdx +67 -0
- package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/index.mdx +39 -0
- package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/schema.sql +22 -0
- package/templates/default/domains/Shopping/systems/cart-system/index.mdx +53 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/index.mdx +32 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/schema.json +25 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/index.mdx +32 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/schema.json +23 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/index.mdx +32 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/schema.json +24 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/index.mdx +29 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/schema.json +62 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/index.mdx +72 -0
- package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/openapi.yml +200 -0
- package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/index.mdx +40 -0
- package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/schema.sql +21 -0
- package/templates/default/domains/Shopping/systems/promotion-system/index.mdx +48 -0
- package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/index.mdx +32 -0
- package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/schema.json +53 -0
- package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/index.mdx +29 -0
- package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/schema.json +37 -0
- package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/index.mdx +59 -0
- package/templates/default/domains/Shopping/ubiquitous-language.mdx +48 -0
- package/templates/default/eventcatalog.config.js +13 -0
- package/templates/default/pages/homepage.astro +109 -0
- package/templates/default/public/icons/analytics/clickhouse.svg +1 -0
- package/templates/default/public/icons/cache/redis.svg +1 -0
- package/templates/default/public/icons/database/postgresql.svg +1 -0
- package/templates/default/public/icons/languages/go.svg +1 -0
- package/templates/default/public/icons/languages/java.svg +1 -0
- package/templates/default/public/icons/languages/nodejs.svg +1 -0
- package/templates/default/public/icons/payments/stripe.svg +1 -0
- package/templates/default/teams/customer-platform.mdx +18 -0
- package/templates/default/teams/fulfilment-platform.mdx +20 -0
- package/templates/default/teams/ordering-platform.mdx +18 -0
- package/templates/default/teams/payments-platform.mdx +18 -0
- package/templates/default/teams/product-platform.mdx +20 -0
- package/templates/default/teams/reviews-platform.mdx +20 -0
- package/templates/default/teams/search-platform.mdx +19 -0
- package/templates/default/teams/shopping-platform.mdx +18 -0
- package/templates/default/users/dboyne.mdx +1 -1
- package/templates/empty/README-template.md +39 -31
- package/templates/eventbridge/README-template.md +44 -17
- package/templates/graphql/README-template.md +39 -31
- package/templates/index.ts +1 -0
- package/templates/openapi/README-template.md +37 -33
- package/templates/default/channels/inventory.{env}.events/index.mdx +0 -159
- package/templates/default/channels/orders.{env}.events/index.mdx +0 -85
- package/templates/default/channels/payment.{env}.events/index.mdx +0 -89
- package/templates/default/domains/E-Commerce/index.mdx +0 -140
- package/templates/default/domains/E-Commerce/ubiquitous-language.mdx +0 -87
- package/templates/default/domains/Orders/changelog.mdx +0 -7
- package/templates/default/domains/Orders/entities/CartItem/index.mdx +0 -124
- package/templates/default/domains/Orders/entities/Customer/index.mdx +0 -59
- package/templates/default/domains/Orders/entities/Order/index.mdx +0 -98
- package/templates/default/domains/Orders/entities/OrderItem/index.mdx +0 -62
- package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +0 -151
- package/templates/default/domains/Orders/index.mdx +0 -117
- package/templates/default/domains/Orders/services/InventoryService/changelog.mdx +0 -7
- package/templates/default/domains/Orders/services/InventoryService/channels/inventory-dlq/index.mdx +0 -13
- package/templates/default/domains/Orders/services/InventoryService/channels/inventory-queue/index.mdx +0 -13
- package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/index.mdx +0 -45
- package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/schema.json +0 -28
- package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/index.mdx +0 -34
- package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/schema.json +0 -124
- package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/index.mdx +0 -47
- package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/schema.json +0 -28
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/changelog.mdx +0 -67
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-decrease.json +0 -23
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-increase.json +0 -23
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/index.mdx +0 -124
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.avro +0 -13
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.json +0 -35
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/changelog.mdx +0 -26
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/index.mdx +0 -23
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.avro +0 -9
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.json +0 -36
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/changelog.mdx +0 -26
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/index.mdx +0 -108
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.avro +0 -10
- package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.json +0 -36
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/examples.config.yaml +0 -7
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/product-depleted.json +0 -19
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/index.mdx +0 -102
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/schema.json +0 -28
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/index.mdx +0 -98
- package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/schema.json +0 -28
- package/templates/default/domains/Orders/services/InventoryService/index.mdx +0 -120
- package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/index.mdx +0 -22
- package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/schema.json +0 -52
- package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/index.mdx +0 -40
- package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/schema.json +0 -27
- package/templates/default/domains/Orders/services/InventoryService/versioned/0.0.1/index.mdx +0 -52
- package/templates/default/domains/Orders/services/NotificationService/index.mdx +0 -82
- package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/index.mdx +0 -26
- package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/schema.json +0 -55
- package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/index.mdx +0 -26
- package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/schema.json +0 -46
- package/templates/default/domains/Orders/services/OrdersService/changelog.mdx +0 -3
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/address-change.json +0 -36
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/quantity-change.json +0 -29
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/index.mdx +0 -58
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.avro +0 -75
- package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.json +0 -70
- package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/customer-request.json +0 -34
- package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/out-of-stock.json +0 -28
- package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/index.mdx +0 -54
- package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/schema.json +0 -71
- package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/gift-order.json +0 -38
- package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/standard-order.json +0 -42
- package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/index.mdx +0 -55
- package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/schema.json +0 -66
- package/templates/default/domains/Orders/services/OrdersService/index.mdx +0 -81
- package/templates/default/domains/Orders/services/OrdersService/openapi.yml +0 -185
- package/templates/default/domains/Orders/services/OrdersService/order-service-asyncapi.yaml +0 -148
- package/templates/default/domains/Orders/services/OrdersService/queries/GetOrder/index.mdx +0 -26
- package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/changelog.mdx +0 -3
- package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/index.mdx +0 -40
- package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/openapi.yml +0 -96
- package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/order-service-asyncapi.yaml +0 -148
- package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/schema.json +0 -13
- package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/schema.json +0 -19
- package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/schema.json +0 -62
- package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/schema.json +0 -29
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/address-not-found.json +0 -23
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/customer-unavailable.json +0 -40
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/damaged-in-transit.json +0 -33
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/examples.config.yaml +0 -23
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/schema.json +0 -17
- package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/defective-item.json +0 -33
- package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/wrong-item.json +0 -51
- package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/schema.json +0 -17
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/multi-package.json +0 -76
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/single-package.json +0 -51
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/schema.json +0 -64
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/front-door-delivery.json +0 -30
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/signed-delivery.json +0 -31
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/schema.json +0 -17
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/express-shipping.json +0 -33
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/standard-shipping.json +0 -32
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/schema.json +0 -17
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/domestic-transit.json +0 -48
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/international-transit.json +0 -61
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/index.mdx +0 -22
- package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/schema.json +0 -17
- package/templates/default/domains/Orders/services/ShippingService/index.mdx +0 -61
- package/templates/default/domains/Orders/ubiquitous-language.mdx +0 -127
- package/templates/default/domains/Orders/versioned/0.0.1/index.mdx +0 -21
- package/templates/default/domains/Orders/versioned/0.0.2/index.mdx +0 -50
- package/templates/default/domains/Payment/entities/Address/index.mdx +0 -165
- package/templates/default/domains/Payment/entities/Invoice/index.mdx +0 -92
- package/templates/default/domains/Payment/entities/Payment/index.mdx +0 -140
- package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +0 -80
- package/templates/default/domains/Payment/entities/Transaction/index.mdx +0 -80
- package/templates/default/domains/Payment/flows/PaymentProcessed/index.mdx +0 -82
- package/templates/default/domains/Payment/index.mdx +0 -40
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-flagged.json +0 -50
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-passed.json +0 -45
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +0 -50
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +0 -44
- package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +0 -62
- package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +0 -75
- package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +0 -58
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/card-declined.json +0 -38
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/examples.config.yaml +0 -23
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/expired-card.json +0 -38
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/insufficient-funds.json +0 -38
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +0 -64
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +0 -68
- package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +0 -71
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/express-checkout.json +0 -45
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/standard-checkout.json +0 -52
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/index.mdx +0 -37
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/schema.json +0 -31
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/international-payment.json +0 -48
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/successful-payment.json +0 -48
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/index.mdx +0 -43
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/schema.json +0 -54
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/index.mdx +0 -43
- package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/schema.json +0 -54
- package/templates/default/domains/Payment/services/PaymentService/index.mdx +0 -41
- package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/index.mdx +0 -26
- package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/schema.json +0 -39
- package/templates/default/domains/Payment/ubiquitous-language.mdx +0 -96
- package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +0 -127
- package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +0 -119
- package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +0 -118
- package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +0 -157
- package/templates/default/domains/ProductCatalog/index.mdx +0 -73
- package/templates/default/domains/ProductCatalog/ubiquitous-language.mdx +0 -88
- package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +0 -71
- package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +0 -76
- package/templates/default/domains/Subscriptions/flows/CancelSubscription/SubscriptionRenewed/index.mdx +0 -300
- package/templates/default/domains/Subscriptions/flows/CancelSubscription/index.mdx +0 -69
- package/templates/default/domains/Subscriptions/flows/CancelSubscription/versioned/0.0.1/index.mdx +0 -51
- package/templates/default/domains/Subscriptions/index.mdx +0 -35
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/examples.config.yaml +0 -7
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/upcoming-renewal.json +0 -28
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +0 -63
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +0 -54
- package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +0 -83
- package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +0 -83
- package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/schema.json +0 -30
- package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/schema.json +0 -31
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/payment-failure.json +0 -25
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/voluntary-cancellation.json +0 -23
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/schema.json +0 -35
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/annual-plan.json +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/examples.config.yaml +0 -15
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/monthly-plan.json +0 -25
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/schema.json +0 -36
- package/templates/default/domains/Subscriptions/services/SubscriptionService/index.mdx +0 -62
- package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/schema.json +0 -54
- package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/index.mdx +0 -26
- package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/schema.json +0 -54
- package/templates/default/domains/Subscriptions/ubiquitous-language.mdx +0 -129
- package/templates/default/teams/full-stack.mdx +0 -26
- package/templates/default/teams/mobile-devs.mdx +0 -23
- package/templates/default/users/aSmith.mdx +0 -27
- package/templates/default/users/mSmith.mdx +0 -9
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: warehouse-service
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: Warehouse Service
|
|
5
|
+
summary: |
|
|
6
|
+
Orchestrates picking and packing in the warehouse. It reacts to completed orders, creates picking jobs, and signals when an order is ready to ship.
|
|
7
|
+
styles:
|
|
8
|
+
icon: /icons/languages/java.svg
|
|
9
|
+
owners:
|
|
10
|
+
- fulfilment-platform
|
|
11
|
+
receives:
|
|
12
|
+
- id: order-completed
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
sends:
|
|
15
|
+
- id: order-ready-for-shipping
|
|
16
|
+
version: 1.0.0
|
|
17
|
+
writesTo:
|
|
18
|
+
- id: warehouse-database
|
|
19
|
+
readsFrom:
|
|
20
|
+
- id: warehouse-database
|
|
21
|
+
repository:
|
|
22
|
+
language: Java
|
|
23
|
+
url: 'https://github.com/acme/warehouse-service'
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
import Footer from '@catalog/components/footer.astro';
|
|
27
|
+
|
|
28
|
+
## Overview
|
|
29
|
+
|
|
30
|
+
The **Warehouse Service** runs warehousing. When the Ordering domain publishes [[event|order-completed]], it creates a picking job in the [[container|warehouse-database]] for the [[service|picking-worker]] to work through. Once the order is packed it publishes [[event|order-ready-for-shipping]] for the [[system|shipping-system]].
|
|
31
|
+
|
|
32
|
+
<Tiles>
|
|
33
|
+
<Tile
|
|
34
|
+
icon="BoltIcon"
|
|
35
|
+
href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
|
|
36
|
+
title={`Sends ${frontmatter.sends.length} message`}
|
|
37
|
+
description="Ready-for-shipping signal"
|
|
38
|
+
/>
|
|
39
|
+
<Tile
|
|
40
|
+
icon="BoltIcon"
|
|
41
|
+
href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
|
|
42
|
+
title={`Receives ${frontmatter.receives.length} message`}
|
|
43
|
+
description="Completed orders to fulfil"
|
|
44
|
+
/>
|
|
45
|
+
</Tiles>
|
|
46
|
+
|
|
47
|
+
## Architecture diagram
|
|
48
|
+
|
|
49
|
+
<NodeGraph />
|
|
50
|
+
|
|
51
|
+
<MessageTable format="all" limit={8} />
|
|
52
|
+
|
|
53
|
+
<Footer />
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
dictionary:
|
|
3
|
+
- id: Fulfilment
|
|
4
|
+
name: Fulfilment
|
|
5
|
+
summary: 'Everything that gets a confirmed order physically to the customer — stock, packing and shipping.'
|
|
6
|
+
icon: PackageCheck
|
|
7
|
+
- id: Stock
|
|
8
|
+
name: Stock
|
|
9
|
+
summary: 'The quantity of a product physically available to sell.'
|
|
10
|
+
description: |
|
|
11
|
+
Stock is owned by the Inventory System. Each product has an available quantity and a reserved
|
|
12
|
+
quantity. Stock is the source of truth for whether an order can be fulfilled.
|
|
13
|
+
icon: Boxes
|
|
14
|
+
- id: Reservation
|
|
15
|
+
name: Reservation
|
|
16
|
+
summary: 'A temporary hold on stock for a specific order, taken during checkout.'
|
|
17
|
+
description: |
|
|
18
|
+
A reservation guarantees stock is set aside for an order while payment is taken. It is held,
|
|
19
|
+
then either consumed when the order ships or released if checkout fails.
|
|
20
|
+
icon: BookmarkCheck
|
|
21
|
+
- id: Picking
|
|
22
|
+
name: Picking
|
|
23
|
+
summary: "Collecting an order's items from the warehouse shelves."
|
|
24
|
+
icon: Hand
|
|
25
|
+
- id: Packing
|
|
26
|
+
name: Packing
|
|
27
|
+
summary: 'Boxing up a picked order into one or more parcels ready for shipping.'
|
|
28
|
+
icon: Package
|
|
29
|
+
- id: Shipment
|
|
30
|
+
name: Shipment
|
|
31
|
+
summary: 'A packed order handed to a carrier for delivery, tracked from dispatch to delivery.'
|
|
32
|
+
description: |
|
|
33
|
+
A shipment is created with an external carrier once an order is packed. Its lifecycle —
|
|
34
|
+
created, delivered or failed — is reported back by the carrier.
|
|
35
|
+
icon: Truck
|
|
36
|
+
- id: Carrier
|
|
37
|
+
name: Carrier
|
|
38
|
+
summary: 'The external delivery company that transports shipments to customers.'
|
|
39
|
+
icon: Globe
|
|
40
|
+
- id: Tracking Number
|
|
41
|
+
name: Tracking Number
|
|
42
|
+
summary: "A code from the carrier that lets the customer follow a shipment's progress."
|
|
43
|
+
icon: ScanBarcode
|
|
44
|
+
---
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: checkout-session
|
|
3
|
+
name: Checkout Session
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: checkoutSessionId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: The orchestration state for turning a checked-out cart into an order.
|
|
8
|
+
owners:
|
|
9
|
+
- ordering-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: checkoutSessionId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique checkout session identifier.
|
|
15
|
+
- name: cartId
|
|
16
|
+
type: UUID
|
|
17
|
+
required: true
|
|
18
|
+
description: Cart being checked out.
|
|
19
|
+
references: cart
|
|
20
|
+
relationType: startsFrom
|
|
21
|
+
referencesIdentifier: cartId
|
|
22
|
+
- name: status
|
|
23
|
+
type: string
|
|
24
|
+
required: true
|
|
25
|
+
description: Current checkout state.
|
|
26
|
+
- name: startedAt
|
|
27
|
+
type: datetime
|
|
28
|
+
required: true
|
|
29
|
+
description: Time checkout orchestration started.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Checkout Session tracks the saga managed by [[service|checkout-orchestrator]] across inventory reservation, payment authorization and order creation.
|
|
35
|
+
|
|
36
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: order
|
|
3
|
+
name: Order
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: orderId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: The durable customer order created after successful checkout.
|
|
8
|
+
owners:
|
|
9
|
+
- ordering-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: orderId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique order identifier.
|
|
15
|
+
- name: customerId
|
|
16
|
+
type: UUID
|
|
17
|
+
required: true
|
|
18
|
+
description: Customer who placed the order.
|
|
19
|
+
references: customer-profile
|
|
20
|
+
relationType: belongsTo
|
|
21
|
+
referencesIdentifier: customerId
|
|
22
|
+
- name: status
|
|
23
|
+
type: string
|
|
24
|
+
required: true
|
|
25
|
+
description: Current order lifecycle state.
|
|
26
|
+
- name: totalAmount
|
|
27
|
+
type: decimal
|
|
28
|
+
required: true
|
|
29
|
+
description: Total order value at creation.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Order is the main aggregate in [[system|order-management-system]]. It emits order lifecycle events used by Fulfilment and support workflows.
|
|
35
|
+
|
|
36
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: order-line
|
|
3
|
+
name: Order Line
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: orderLineId
|
|
6
|
+
summary: A purchased product and quantity within an order.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: orderLineId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique order line identifier.
|
|
14
|
+
- name: orderId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Order this line belongs to.
|
|
18
|
+
references: order
|
|
19
|
+
relationType: belongsTo
|
|
20
|
+
referencesIdentifier: orderId
|
|
21
|
+
- name: productId
|
|
22
|
+
type: UUID
|
|
23
|
+
required: true
|
|
24
|
+
description: Product purchased.
|
|
25
|
+
references: product
|
|
26
|
+
relationType: references
|
|
27
|
+
referencesIdentifier: productId
|
|
28
|
+
- name: quantity
|
|
29
|
+
type: integer
|
|
30
|
+
required: true
|
|
31
|
+
description: Quantity purchased.
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
Order Line snapshots the products bought at checkout. It should not replace the Catalog domain's authoritative product data.
|
|
37
|
+
|
|
38
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: order-status-history
|
|
3
|
+
name: Order Status History
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: orderStatusHistoryId
|
|
6
|
+
summary: Audit history of order lifecycle state changes.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: orderStatusHistoryId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique status history record.
|
|
14
|
+
- name: orderId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Order whose status changed.
|
|
18
|
+
references: order
|
|
19
|
+
relationType: belongsTo
|
|
20
|
+
referencesIdentifier: orderId
|
|
21
|
+
- name: status
|
|
22
|
+
type: string
|
|
23
|
+
required: true
|
|
24
|
+
description: New order status.
|
|
25
|
+
- name: changedAt
|
|
26
|
+
type: datetime
|
|
27
|
+
required: true
|
|
28
|
+
description: Time the status changed.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Overview
|
|
32
|
+
|
|
33
|
+
Order Status History provides an audit trail for customer support, fulfilment exceptions and order lifecycle debugging.
|
|
34
|
+
|
|
35
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: place-an-order
|
|
3
|
+
name: Place an Order
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
The end-to-end journey from a customer checking out their cart to a confirmed order — spanning the Shopping and Ordering domains, including the checkout saga and its failure path.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
steps:
|
|
10
|
+
- id: shopper_checks_out
|
|
11
|
+
title: Shopper checks out
|
|
12
|
+
actor:
|
|
13
|
+
name: Shopper
|
|
14
|
+
summary: The customer confirms their cart and starts checkout.
|
|
15
|
+
next_step:
|
|
16
|
+
id: checkout_cart_command
|
|
17
|
+
label: Check out cart
|
|
18
|
+
|
|
19
|
+
- id: checkout_cart_command
|
|
20
|
+
title: Checkout Cart
|
|
21
|
+
message:
|
|
22
|
+
id: checkout-cart
|
|
23
|
+
version: 1.0.0
|
|
24
|
+
next_step:
|
|
25
|
+
id: cart_api
|
|
26
|
+
label: Price and finalise cart
|
|
27
|
+
|
|
28
|
+
- id: cart_api
|
|
29
|
+
title: Cart API
|
|
30
|
+
service:
|
|
31
|
+
id: cart-api
|
|
32
|
+
version: 1.0.0
|
|
33
|
+
next_step:
|
|
34
|
+
id: cart_checked_out
|
|
35
|
+
label: Publish checkout
|
|
36
|
+
|
|
37
|
+
- id: cart_checked_out
|
|
38
|
+
title: Cart Checked Out
|
|
39
|
+
message:
|
|
40
|
+
id: cart-checked-out
|
|
41
|
+
version: 1.0.0
|
|
42
|
+
next_step:
|
|
43
|
+
id: checkout_api
|
|
44
|
+
label: Start checkout flow
|
|
45
|
+
|
|
46
|
+
- id: checkout_api
|
|
47
|
+
title: Checkout API
|
|
48
|
+
service:
|
|
49
|
+
id: checkout-api
|
|
50
|
+
version: 1.0.0
|
|
51
|
+
next_step:
|
|
52
|
+
id: checkout_orchestrator
|
|
53
|
+
label: Run checkout saga
|
|
54
|
+
|
|
55
|
+
- id: checkout_orchestrator
|
|
56
|
+
title: Checkout Orchestrator
|
|
57
|
+
service:
|
|
58
|
+
id: checkout-orchestrator
|
|
59
|
+
version: 1.0.0
|
|
60
|
+
next_steps:
|
|
61
|
+
- id: reserve_inventory
|
|
62
|
+
label: Reserve inventory
|
|
63
|
+
- id: authorize_payment
|
|
64
|
+
label: Authorize payment
|
|
65
|
+
|
|
66
|
+
- id: reserve_inventory
|
|
67
|
+
title: Reserve Inventory
|
|
68
|
+
message:
|
|
69
|
+
id: reserve-inventory
|
|
70
|
+
version: 1.0.0
|
|
71
|
+
next_step:
|
|
72
|
+
id: authorize_payment
|
|
73
|
+
label: Inventory held
|
|
74
|
+
|
|
75
|
+
- id: authorize_payment
|
|
76
|
+
title: Authorize Payment
|
|
77
|
+
message:
|
|
78
|
+
id: authorize-payment
|
|
79
|
+
version: 1.0.0
|
|
80
|
+
next_steps:
|
|
81
|
+
- id: create_order
|
|
82
|
+
label: Payment authorized
|
|
83
|
+
- id: checkout_failed
|
|
84
|
+
label: Authorization declined
|
|
85
|
+
|
|
86
|
+
- id: create_order
|
|
87
|
+
title: Create Order
|
|
88
|
+
message:
|
|
89
|
+
id: create-order
|
|
90
|
+
version: 1.0.0
|
|
91
|
+
next_step:
|
|
92
|
+
id: order_service
|
|
93
|
+
label: Persist order
|
|
94
|
+
|
|
95
|
+
- id: order_service
|
|
96
|
+
title: Order Service
|
|
97
|
+
service:
|
|
98
|
+
id: order-service
|
|
99
|
+
version: 1.0.0
|
|
100
|
+
next_step:
|
|
101
|
+
id: order_created
|
|
102
|
+
label: Publish order created
|
|
103
|
+
|
|
104
|
+
- id: order_created
|
|
105
|
+
title: Order Created
|
|
106
|
+
message:
|
|
107
|
+
id: order-created
|
|
108
|
+
version: 1.0.0
|
|
109
|
+
next_step:
|
|
110
|
+
id: order_confirmed
|
|
111
|
+
label: Confirm to customer
|
|
112
|
+
|
|
113
|
+
- id: order_confirmed
|
|
114
|
+
title: Order confirmed
|
|
115
|
+
custom:
|
|
116
|
+
title: Order confirmed
|
|
117
|
+
color: green
|
|
118
|
+
icon: CheckCircleIcon
|
|
119
|
+
type: Outcome
|
|
120
|
+
summary: The customer's order is placed and confirmed. Fulfilment begins.
|
|
121
|
+
properties:
|
|
122
|
+
happy_path: 'true'
|
|
123
|
+
|
|
124
|
+
- id: checkout_failed
|
|
125
|
+
title: Checkout failed
|
|
126
|
+
custom:
|
|
127
|
+
title: Checkout failed
|
|
128
|
+
color: red
|
|
129
|
+
icon: ExclamationTriangleIcon
|
|
130
|
+
type: Exception
|
|
131
|
+
summary: A checkout step failed (e.g. payment declined). The orchestrator compensates earlier steps and cancels the order.
|
|
132
|
+
properties:
|
|
133
|
+
common_causes: 'payment declined, out of stock'
|
|
134
|
+
next_action: 'release reservation, void authorization, cancel order'
|
|
135
|
+
next_step:
|
|
136
|
+
id: order_cancelled
|
|
137
|
+
label: Cancel order
|
|
138
|
+
|
|
139
|
+
- id: order_cancelled
|
|
140
|
+
title: Order Cancelled
|
|
141
|
+
message:
|
|
142
|
+
id: order-cancelled
|
|
143
|
+
version: 1.0.0
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Overview
|
|
147
|
+
|
|
148
|
+
**Place an Order** is the headline business flow at Acme Inc. It begins in the [[domain|shopping]] domain, when a shopper checks out their cart, and finishes in the [[domain|ordering]] domain, with a confirmed order — or a compensated, cancelled one if a step fails.
|
|
149
|
+
|
|
150
|
+
<NodeGraph />
|
|
151
|
+
|
|
152
|
+
## How it works
|
|
153
|
+
|
|
154
|
+
1. The shopper checks out — the [[service|cart-api]] prices the cart and publishes [[event|cart-checked-out]].
|
|
155
|
+
2. The [[service|checkout-api]] picks this up and hands it to the [[service|checkout-orchestrator]].
|
|
156
|
+
3. The orchestrator runs the saga: [[command|reserve-inventory]] then [[command|authorize-payment]].
|
|
157
|
+
4. On success it sends [[command|create-order]] to the [[service|order-service]], which publishes [[event|order-created]].
|
|
158
|
+
5. If any step fails, the orchestrator compensates the earlier steps and the order is cancelled via [[event|order-cancelled]].
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ordering
|
|
3
|
+
name: Ordering
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, authorizing payment and creating the order — and owns the lifecycle of every order.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
systems:
|
|
10
|
+
- id: checkout-system
|
|
11
|
+
version: 1.0.0
|
|
12
|
+
- id: order-management-system
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
flows:
|
|
15
|
+
- id: place-an-order
|
|
16
|
+
version: 1.0.0
|
|
17
|
+
entities:
|
|
18
|
+
- id: checkout-session
|
|
19
|
+
version: 1.0.0
|
|
20
|
+
- id: order
|
|
21
|
+
version: 1.0.0
|
|
22
|
+
- id: order-line
|
|
23
|
+
version: 1.0.0
|
|
24
|
+
- id: order-status-history
|
|
25
|
+
version: 1.0.0
|
|
26
|
+
badges:
|
|
27
|
+
- content: Core domain
|
|
28
|
+
backgroundColor: blue
|
|
29
|
+
textColor: blue
|
|
30
|
+
icon: RectangleGroupIcon
|
|
31
|
+
- content: Business Critical
|
|
32
|
+
backgroundColor: red
|
|
33
|
+
textColor: red
|
|
34
|
+
icon: ShieldCheckIcon
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Overview
|
|
38
|
+
|
|
39
|
+
The **Ordering** domain is responsible for everything that happens once a customer commits to buy — from the moment their cart is checked out to a confirmed, fulfilled order. It is split into two systems:
|
|
40
|
+
|
|
41
|
+
<Tiles>
|
|
42
|
+
<Tile
|
|
43
|
+
icon="CreditCardIcon"
|
|
44
|
+
href="/docs/systems/checkout-system/1.0.0"
|
|
45
|
+
title="Checkout System"
|
|
46
|
+
description="Orchestrates checkout — reserves inventory, authorizes payment and creates the order."
|
|
47
|
+
/>
|
|
48
|
+
<Tile
|
|
49
|
+
icon="ClipboardDocumentListIcon"
|
|
50
|
+
href="/docs/systems/order-management-system/1.0.0"
|
|
51
|
+
title="Order Management System"
|
|
52
|
+
description="System of record for orders and their lifecycle."
|
|
53
|
+
/>
|
|
54
|
+
</Tiles>
|
|
55
|
+
|
|
56
|
+
### How the systems work together
|
|
57
|
+
|
|
58
|
+
When the [[domain|shopping]] domain checks out a cart, the **Checkout System** takes over. It orchestrates the steps needed to place an order — reserving inventory, authorizing payment, and finally asking the **Order Management System** to create the order. The Order Management System then owns that order for the rest of its life, publishing events as it is created, completed or cancelled.
|
|
59
|
+
|
|
60
|
+
## System Diagram
|
|
61
|
+
|
|
62
|
+
The systems in this domain, how they relate, and the people who interact with them.
|
|
63
|
+
|
|
64
|
+
<ContextDiagram />
|
|
65
|
+
|
|
66
|
+
## Resource Diagram
|
|
67
|
+
|
|
68
|
+
The components that make up this domain.
|
|
69
|
+
|
|
70
|
+
<NodeGraph />
|
package/templates/default/domains/Ordering/systems/checkout-system/flows/CheckoutSaga/index.mdx
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: checkout-saga
|
|
3
|
+
name: Checkout Saga
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
How the Checkout Orchestrator turns a checked-out cart into an order — reserving inventory, authorizing payment and creating the order, with compensation when a step fails.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
steps:
|
|
10
|
+
- id: cart_checked_out
|
|
11
|
+
title: Cart Checked Out
|
|
12
|
+
message:
|
|
13
|
+
id: cart-checked-out
|
|
14
|
+
version: 1.0.0
|
|
15
|
+
next_step:
|
|
16
|
+
id: checkout_api
|
|
17
|
+
label: Receive checkout
|
|
18
|
+
|
|
19
|
+
- id: checkout_api
|
|
20
|
+
title: Checkout API
|
|
21
|
+
service:
|
|
22
|
+
id: checkout-api
|
|
23
|
+
version: 1.0.0
|
|
24
|
+
next_step:
|
|
25
|
+
id: orchestrator
|
|
26
|
+
label: Start saga
|
|
27
|
+
|
|
28
|
+
- id: orchestrator
|
|
29
|
+
title: Checkout Orchestrator
|
|
30
|
+
service:
|
|
31
|
+
id: checkout-orchestrator
|
|
32
|
+
version: 1.0.0
|
|
33
|
+
next_step:
|
|
34
|
+
id: reserve_inventory
|
|
35
|
+
label: Step 1 — reserve inventory
|
|
36
|
+
|
|
37
|
+
- id: reserve_inventory
|
|
38
|
+
title: Reserve Inventory
|
|
39
|
+
message:
|
|
40
|
+
id: reserve-inventory
|
|
41
|
+
version: 1.0.0
|
|
42
|
+
next_steps:
|
|
43
|
+
- id: authorize_payment
|
|
44
|
+
label: Reserved
|
|
45
|
+
- id: compensate_release
|
|
46
|
+
label: Out of stock
|
|
47
|
+
|
|
48
|
+
- id: authorize_payment
|
|
49
|
+
title: Authorize Payment
|
|
50
|
+
message:
|
|
51
|
+
id: authorize-payment
|
|
52
|
+
version: 1.0.0
|
|
53
|
+
next_steps:
|
|
54
|
+
- id: create_order
|
|
55
|
+
label: Authorized
|
|
56
|
+
- id: compensate_release
|
|
57
|
+
label: Declined
|
|
58
|
+
|
|
59
|
+
- id: create_order
|
|
60
|
+
title: Create Order
|
|
61
|
+
message:
|
|
62
|
+
id: create-order
|
|
63
|
+
version: 1.0.0
|
|
64
|
+
next_step:
|
|
65
|
+
id: saga_complete
|
|
66
|
+
label: Order created
|
|
67
|
+
|
|
68
|
+
- id: saga_complete
|
|
69
|
+
title: Saga complete
|
|
70
|
+
custom:
|
|
71
|
+
title: Saga complete
|
|
72
|
+
color: green
|
|
73
|
+
icon: CheckCircleIcon
|
|
74
|
+
type: Outcome
|
|
75
|
+
summary: Inventory reserved, payment authorized and order created. The saga succeeds.
|
|
76
|
+
|
|
77
|
+
- id: compensate_release
|
|
78
|
+
title: Compensate
|
|
79
|
+
custom:
|
|
80
|
+
title: Compensate and abort
|
|
81
|
+
color: red
|
|
82
|
+
icon: ArrowUturnLeftIcon
|
|
83
|
+
type: Compensation
|
|
84
|
+
summary: A step failed. The orchestrator releases any reservation and voids any authorization, then aborts the saga without creating an order.
|
|
85
|
+
properties:
|
|
86
|
+
actions: 'release reservation, void authorization'
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Overview
|
|
90
|
+
|
|
91
|
+
The **Checkout Saga** is the heart of the [[system|checkout-system]]. It coordinates the steps that turn a checked-out cart into a confirmed order. Each step has a compensating action so a failure never leaves the customer in an inconsistent state.
|
|
92
|
+
|
|
93
|
+
<NodeGraph />
|
|
94
|
+
|
|
95
|
+
## Steps
|
|
96
|
+
|
|
97
|
+
1. **Reserve inventory** — [[command|reserve-inventory]] holds stock for the cart's items.
|
|
98
|
+
2. **Authorize payment** — [[command|authorize-payment]] places a hold on the order total.
|
|
99
|
+
3. **Create order** — [[command|create-order]] persists the order in the [[system|order-management-system]].
|
|
100
|
+
|
|
101
|
+
If reservation or authorization fails, the orchestrator **compensates** — releasing the reservation and voiding the authorization — and aborts without creating an order.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: checkout-system
|
|
3
|
+
name: Checkout System
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
Internal system that orchestrates checkout. When a cart is checked out it reserves inventory, authorizes payment, and asks the Order Management System to create the order.
|
|
7
|
+
owners:
|
|
8
|
+
- ordering-platform
|
|
9
|
+
services:
|
|
10
|
+
- id: checkout-api
|
|
11
|
+
- id: checkout-orchestrator
|
|
12
|
+
flows:
|
|
13
|
+
- id: checkout-saga
|
|
14
|
+
version: 1.0.0
|
|
15
|
+
relationships:
|
|
16
|
+
- id: order-management-system
|
|
17
|
+
label: creates orders via
|
|
18
|
+
actors:
|
|
19
|
+
- id: shopper
|
|
20
|
+
name: Shopper
|
|
21
|
+
label: confirms checkout
|
|
22
|
+
direction: inbound
|
|
23
|
+
badges:
|
|
24
|
+
- content: Internal
|
|
25
|
+
backgroundColor: gray
|
|
26
|
+
textColor: gray
|
|
27
|
+
icon: LockClosedIcon
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Overview
|
|
31
|
+
|
|
32
|
+
The **Checkout System** drives the checkout flow at Acme Inc. When the [[domain|shopping]] domain checks out a cart, the [[service|checkout-api]] receives the [[command|checkout-cart]] command and hands it to the [[service|checkout-orchestrator]]. The orchestrator runs the checkout saga — reserving inventory via [[command|reserve-inventory]], authorizing payment via [[command|authorize-payment]], and finally creating the order via [[command|create-order]] against the [[system|order-management-system]].
|
|
33
|
+
|
|
34
|
+
## Context Diagram
|
|
35
|
+
|
|
36
|
+
How this system relates to the other systems around it.
|
|
37
|
+
|
|
38
|
+
<ContextDiagram />
|
|
39
|
+
|
|
40
|
+
## Resource Diagram
|
|
41
|
+
|
|
42
|
+
The services and messages that make up this system.
|
|
43
|
+
|
|
44
|
+
<NodeGraph />
|
|
45
|
+
|
|
46
|
+
## What's inside
|
|
47
|
+
|
|
48
|
+
| Component | Type | Responsibility |
|
|
49
|
+
| ---------------------------------- | ------- | ---------------------------------------------------------------------------- |
|
|
50
|
+
| [[service\|checkout-api]] | Service | Entry point for checkout. Receives the checkout command and starts the flow. |
|
|
51
|
+
| [[service\|checkout-orchestrator]] | Service | Runs the checkout saga — reserve inventory, authorize payment, create order. |
|
|
52
|
+
|
|
53
|
+
## Messages this system sends
|
|
54
|
+
|
|
55
|
+
- [[command\|reserve-inventory]] — reserve stock for the items in the cart.
|
|
56
|
+
- [[command\|authorize-payment]] — authorize payment for the order total.
|
|
57
|
+
- [[command\|create-order]] — create the order in the Order Management System.
|
package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutAPI/index.mdx
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: checkout-api
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: Checkout API
|
|
5
|
+
summary: |
|
|
6
|
+
The entry point to the Checkout System. Receives the checkout command from the Shopping domain and starts the checkout flow.
|
|
7
|
+
styles:
|
|
8
|
+
icon: /icons/languages/nodejs.svg
|
|
9
|
+
owners:
|
|
10
|
+
- ordering-platform
|
|
11
|
+
receives:
|
|
12
|
+
- id: checkout-cart
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
repository:
|
|
15
|
+
language: TypeScript
|
|
16
|
+
url: 'https://github.com/acme/checkout-api'
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
import Footer from '@catalog/components/footer.astro';
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
The **Checkout API** is the front door to the Checkout System. When the [[domain|shopping]] domain checks out a cart, this service receives the [[command|checkout-cart]] command, validates it, and hands the work to the [[service|checkout-orchestrator]] to run the checkout saga.
|
|
24
|
+
|
|
25
|
+
<Tiles>
|
|
26
|
+
<Tile
|
|
27
|
+
icon="BoltIcon"
|
|
28
|
+
href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
|
|
29
|
+
title={`Receives ${frontmatter.receives.length} message`}
|
|
30
|
+
description="The checkout command from Shopping"
|
|
31
|
+
/>
|
|
32
|
+
<Tile
|
|
33
|
+
icon="RectangleGroupIcon"
|
|
34
|
+
href="/docs/services/checkout-orchestrator/1.0.0"
|
|
35
|
+
title="Delegates to the Orchestrator"
|
|
36
|
+
description="The saga that runs checkout"
|
|
37
|
+
/>
|
|
38
|
+
</Tiles>
|
|
39
|
+
|
|
40
|
+
### Responsibilities
|
|
41
|
+
|
|
42
|
+
| Area | Description |
|
|
43
|
+
| --------------------- | --------------------------------------------------------------------------- |
|
|
44
|
+
| Checkout entry | Receives and validates [[command\|checkout-cart]] from the Shopping domain. |
|
|
45
|
+
| Orchestration handoff | Starts a checkout saga in the [[service\|checkout-orchestrator]]. |
|
|
46
|
+
|
|
47
|
+
## Architecture diagram
|
|
48
|
+
|
|
49
|
+
<NodeGraph />
|
|
50
|
+
|
|
51
|
+
<MessageTable format="all" limit={8} />
|
|
52
|
+
|
|
53
|
+
<Footer />
|