@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.
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/default/README-template.md +3 -2
- 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/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,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: identity-provider
|
|
3
|
+
name: Identity Provider
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
The identity system that authenticates customers. It is the source of truth for credentials and login, verifies sign-in attempts, and emits an event when a customer successfully authenticates.
|
|
7
|
+
scope: external
|
|
8
|
+
owners:
|
|
9
|
+
- customer-platform
|
|
10
|
+
services:
|
|
11
|
+
- id: oauth-api
|
|
12
|
+
containers:
|
|
13
|
+
- id: user-directory
|
|
14
|
+
relationships:
|
|
15
|
+
- id: customer-management-system
|
|
16
|
+
label: provides authentication for
|
|
17
|
+
actors:
|
|
18
|
+
- id: customer
|
|
19
|
+
name: Customer
|
|
20
|
+
label: signs in
|
|
21
|
+
direction: inbound
|
|
22
|
+
badges:
|
|
23
|
+
- content: Identity
|
|
24
|
+
backgroundColor: purple
|
|
25
|
+
textColor: purple
|
|
26
|
+
icon: LockClosedIcon
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Overview
|
|
30
|
+
|
|
31
|
+
The **Identity Provider** authenticates customers for Acme Inc. It exposes an OAuth-style API, verifies credentials against the [[container|user-directory]], and emits a [[event|customer-authenticated]] event on a successful sign-in so other systems can react. It provides authentication for the [[system|customer-management-system]].
|
|
32
|
+
|
|
33
|
+
## Context Diagram
|
|
34
|
+
|
|
35
|
+
How this system relates to the other systems around it.
|
|
36
|
+
|
|
37
|
+
<ContextDiagram />
|
|
38
|
+
|
|
39
|
+
## Resource Diagram
|
|
40
|
+
|
|
41
|
+
The services, data stores and messages that make up this system.
|
|
42
|
+
|
|
43
|
+
<NodeGraph />
|
|
44
|
+
|
|
45
|
+
## What's inside
|
|
46
|
+
|
|
47
|
+
| Component | Type | Responsibility |
|
|
48
|
+
| ----------------------------- | ---------- | ---------------------------------------------------------------------------------------------------- |
|
|
49
|
+
| [[service\|oauth-api]] | Service | OAuth-style authentication API. Handles authentication requests and publishes authentication events. |
|
|
50
|
+
| [[container\|user-directory]] | Data store | The directory of customer credentials and identities. |
|
|
51
|
+
|
|
52
|
+
## Messages this system publishes
|
|
53
|
+
|
|
54
|
+
- [[event|customer-authenticated]] — a customer has successfully authenticated.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: authenticate-customer
|
|
3
|
+
name: Authenticate Customer
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
Command to authenticate a customer with their credentials.
|
|
7
|
+
owners:
|
|
8
|
+
- customer-platform
|
|
9
|
+
schemaPath: schema.json
|
|
10
|
+
operation:
|
|
11
|
+
method: POST
|
|
12
|
+
path: /oauth/token
|
|
13
|
+
statusCodes: ['200', '400', '401']
|
|
14
|
+
sidebar:
|
|
15
|
+
badge: 'POST'
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
import Footer from '@catalog/components/footer.astro';
|
|
19
|
+
|
|
20
|
+
## Overview
|
|
21
|
+
|
|
22
|
+
`AuthenticateCustomer` is handled by the [[service|oauth-api]]. It verifies the supplied credentials against the [[container|user-directory]] and, on success, returns an access token and publishes a [[event|customer-authenticated]] event.
|
|
23
|
+
|
|
24
|
+
## Architecture diagram
|
|
25
|
+
|
|
26
|
+
<NodeGraph />
|
|
27
|
+
|
|
28
|
+
## Schema
|
|
29
|
+
|
|
30
|
+
<SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
|
|
31
|
+
|
|
32
|
+
<Footer />
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "AuthenticateCustomer",
|
|
4
|
+
"description": "Command to authenticate a customer with their credentials, and the token returned",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"request": {
|
|
8
|
+
"description": "The credentials to authenticate",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"email": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "email"
|
|
14
|
+
},
|
|
15
|
+
"password": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["email", "password"]
|
|
20
|
+
},
|
|
21
|
+
"response": {
|
|
22
|
+
"description": "The access token issued on a successful sign-in",
|
|
23
|
+
"type": "object",
|
|
24
|
+
"properties": {
|
|
25
|
+
"accessToken": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"tokenType": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"enum": ["Bearer"]
|
|
31
|
+
},
|
|
32
|
+
"expiresIn": {
|
|
33
|
+
"description": "Token lifetime in seconds",
|
|
34
|
+
"type": "integer"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": ["accessToken", "tokenType", "expiresIn"]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": ["request", "response"]
|
|
41
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: customer-authenticated
|
|
3
|
+
name: Customer Authenticated
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
Published when a customer has successfully authenticated.
|
|
7
|
+
owners:
|
|
8
|
+
- customer-platform
|
|
9
|
+
badges:
|
|
10
|
+
- content: 'Broker:Kafka'
|
|
11
|
+
backgroundColor: blue
|
|
12
|
+
textColor: blue
|
|
13
|
+
icon: BoltIcon
|
|
14
|
+
schemaPath: schema.json
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
import Footer from '@catalog/components/footer.astro';
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
`CustomerAuthenticated` is published by the [[service|oauth-api]] whenever a customer successfully signs in. Other systems consume this event for auditing, session tracking, and security monitoring.
|
|
22
|
+
|
|
23
|
+
<SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
|
|
24
|
+
|
|
25
|
+
## Architecture diagram
|
|
26
|
+
|
|
27
|
+
<NodeGraph />
|
|
28
|
+
|
|
29
|
+
<Footer />
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "CustomerAuthenticated",
|
|
4
|
+
"description": "Emitted when a customer successfully authenticates",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"eventId": {
|
|
8
|
+
"description": "Unique identifier for this event",
|
|
9
|
+
"type": "string",
|
|
10
|
+
"format": "uuid"
|
|
11
|
+
},
|
|
12
|
+
"occurredAt": {
|
|
13
|
+
"description": "Time the customer authenticated",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"format": "date-time"
|
|
16
|
+
},
|
|
17
|
+
"customerId": {
|
|
18
|
+
"description": "Unique identifier of the customer that authenticated",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "uuid"
|
|
21
|
+
},
|
|
22
|
+
"method": {
|
|
23
|
+
"description": "How the customer authenticated",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": ["PASSWORD", "SSO", "MFA"]
|
|
26
|
+
},
|
|
27
|
+
"ipAddress": {
|
|
28
|
+
"description": "IP address the sign-in came from",
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": ["eventId", "occurredAt", "customerId", "method"]
|
|
33
|
+
}
|
package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/index.mdx
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: oauth-api
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: OAuth API
|
|
5
|
+
summary: |
|
|
6
|
+
OAuth-style authentication API for the Identity Provider. Verifies customer credentials and publishes an event when a customer successfully authenticates.
|
|
7
|
+
styles:
|
|
8
|
+
icon: /icons/languages/nodejs.svg
|
|
9
|
+
owners:
|
|
10
|
+
- customer-platform
|
|
11
|
+
receives:
|
|
12
|
+
- id: authenticate-customer
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
sends:
|
|
15
|
+
- id: customer-authenticated
|
|
16
|
+
version: 1.0.0
|
|
17
|
+
readsFrom:
|
|
18
|
+
- id: user-directory
|
|
19
|
+
repository:
|
|
20
|
+
language: TypeScript
|
|
21
|
+
url: 'https://github.com/acme/oauth-api'
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
import Footer from '@catalog/components/footer.astro';
|
|
25
|
+
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
The **OAuth API** is the authentication entry point for Acme Inc. It verifies credentials against the [[container|user-directory]] and, on a successful sign-in, publishes a [[event|customer-authenticated]] event so other systems can react.
|
|
29
|
+
|
|
30
|
+
<Tiles>
|
|
31
|
+
<Tile
|
|
32
|
+
icon="BoltIcon"
|
|
33
|
+
href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
|
|
34
|
+
title={`Sends ${frontmatter.sends.length} message`}
|
|
35
|
+
description="Authentication events published on successful sign-in"
|
|
36
|
+
/>
|
|
37
|
+
<Tile
|
|
38
|
+
icon="BoltIcon"
|
|
39
|
+
href={`/visualiser/services/${frontmatter.id}/${frontmatter.version}`}
|
|
40
|
+
title={`Receives ${frontmatter.receives.length} message`}
|
|
41
|
+
description="Authentication requests handled by this service"
|
|
42
|
+
/>
|
|
43
|
+
</Tiles>
|
|
44
|
+
|
|
45
|
+
### Responsibilities
|
|
46
|
+
|
|
47
|
+
| Area | Description |
|
|
48
|
+
| ---------------- | ----------------------------------------------------------------------------------- |
|
|
49
|
+
| Authentication | Handles [[command\|authenticate-customer]] and verifies credentials. |
|
|
50
|
+
| Event publishing | Emits [[event\|customer-authenticated]] on a successful sign-in. |
|
|
51
|
+
| Credentials | Reads from the [[container\|user-directory]] — the source of truth for credentials. |
|
|
52
|
+
|
|
53
|
+
## Architecture diagram
|
|
54
|
+
|
|
55
|
+
<NodeGraph />
|
|
56
|
+
|
|
57
|
+
<MessageTable format="all" limit={4} />
|
|
58
|
+
|
|
59
|
+
<Footer />
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
dictionary:
|
|
3
|
+
- id: Customer
|
|
4
|
+
name: Customer
|
|
5
|
+
summary: 'A person with an account at Acme Inc, identified by a unique customer id and email.'
|
|
6
|
+
description: |
|
|
7
|
+
The customer is the central concept of the Customer domain. Their profile is owned by the
|
|
8
|
+
Customer Management System, which is the source of truth for who a customer is. A customer has:
|
|
9
|
+
|
|
10
|
+
- A unique customer id and a unique email
|
|
11
|
+
- A display name
|
|
12
|
+
- An account status (ACTIVE, SUSPENDED or CLOSED)
|
|
13
|
+
|
|
14
|
+
A customer's profile data is kept deliberately separate from their credentials, which live in
|
|
15
|
+
the Identity Provider.
|
|
16
|
+
icon: User
|
|
17
|
+
- id: Identity
|
|
18
|
+
name: Identity
|
|
19
|
+
summary: 'The credentials and login information used to prove a customer is who they say they are.'
|
|
20
|
+
description: |
|
|
21
|
+
An identity is distinct from a customer profile. It lives in the Identity Provider's user
|
|
22
|
+
directory and holds the login email and a securely hashed credential. Keeping identity separate
|
|
23
|
+
from profile data isolates the most sensitive information.
|
|
24
|
+
icon: Fingerprint
|
|
25
|
+
- id: Authentication
|
|
26
|
+
name: Authentication
|
|
27
|
+
summary: 'Verifying that a sign-in attempt belongs to a real customer.'
|
|
28
|
+
description: |
|
|
29
|
+
Authentication is owned by the Identity Provider. It verifies credentials against the user
|
|
30
|
+
directory and, on success, issues an access token and publishes a CustomerAuthenticated event.
|
|
31
|
+
icon: LockKeyhole
|
|
32
|
+
- id: Credential
|
|
33
|
+
name: Credential
|
|
34
|
+
summary: 'A secret (such as a password) a customer uses to authenticate. Never stored in plain text.'
|
|
35
|
+
icon: KeyRound
|
|
36
|
+
- id: Account Status
|
|
37
|
+
name: Account Status
|
|
38
|
+
summary: 'Where a customer account sits: ACTIVE, SUSPENDED or CLOSED.'
|
|
39
|
+
description: |
|
|
40
|
+
- ACTIVE — the account is in good standing and can be used.
|
|
41
|
+
- SUSPENDED — temporarily blocked (e.g. for review).
|
|
42
|
+
- CLOSED — permanently deactivated.
|
|
43
|
+
icon: Workflow
|
|
44
|
+
- id: User Directory
|
|
45
|
+
name: User Directory
|
|
46
|
+
summary: 'The authoritative store of customer credentials and login identities.'
|
|
47
|
+
icon: Users
|
|
48
|
+
---
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: inventory-reservation
|
|
3
|
+
name: Inventory Reservation
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: reservationId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: Stock held for a checkout or order before fulfilment.
|
|
8
|
+
owners:
|
|
9
|
+
- fulfilment-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: reservationId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique reservation identifier.
|
|
15
|
+
- name: orderId
|
|
16
|
+
type: UUID
|
|
17
|
+
required: false
|
|
18
|
+
description: Order associated with the reservation once created.
|
|
19
|
+
references: order
|
|
20
|
+
relationType: reservedFor
|
|
21
|
+
referencesIdentifier: orderId
|
|
22
|
+
- name: productId
|
|
23
|
+
type: UUID
|
|
24
|
+
required: true
|
|
25
|
+
description: Product being reserved.
|
|
26
|
+
references: product
|
|
27
|
+
relationType: reserves
|
|
28
|
+
referencesIdentifier: productId
|
|
29
|
+
- name: expiresAt
|
|
30
|
+
type: datetime
|
|
31
|
+
required: true
|
|
32
|
+
description: Time the reservation expires if not committed.
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Overview
|
|
36
|
+
|
|
37
|
+
Inventory Reservation is created during checkout by [[command|reserve-inventory]] and released if the saga fails.
|
|
38
|
+
|
|
39
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: shipment
|
|
3
|
+
name: Shipment
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: shipmentId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: A carrier delivery for a packed customer order.
|
|
8
|
+
owners:
|
|
9
|
+
- fulfilment-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: shipmentId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique shipment identifier.
|
|
15
|
+
- name: orderId
|
|
16
|
+
type: UUID
|
|
17
|
+
required: true
|
|
18
|
+
description: Order being shipped.
|
|
19
|
+
references: order
|
|
20
|
+
relationType: ships
|
|
21
|
+
referencesIdentifier: orderId
|
|
22
|
+
- name: carrierReference
|
|
23
|
+
type: string
|
|
24
|
+
required: false
|
|
25
|
+
description: External carrier tracking reference.
|
|
26
|
+
- name: status
|
|
27
|
+
type: string
|
|
28
|
+
required: true
|
|
29
|
+
description: Shipment delivery status.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Shipment is created by the Shipping System and updated from carrier events such as [[event|shipment-created]] and [[event|shipment-delivered]].
|
|
35
|
+
|
|
36
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: stock-item
|
|
3
|
+
name: Stock Item
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: stockItemId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: The inventory record for a product variant at a location.
|
|
8
|
+
owners:
|
|
9
|
+
- fulfilment-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: stockItemId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique stock item identifier.
|
|
15
|
+
- name: productId
|
|
16
|
+
type: UUID
|
|
17
|
+
required: true
|
|
18
|
+
description: Product held in stock.
|
|
19
|
+
references: product
|
|
20
|
+
relationType: stocks
|
|
21
|
+
referencesIdentifier: productId
|
|
22
|
+
- name: locationId
|
|
23
|
+
type: string
|
|
24
|
+
required: true
|
|
25
|
+
description: Warehouse or fulfilment location.
|
|
26
|
+
- name: availableQuantity
|
|
27
|
+
type: integer
|
|
28
|
+
required: true
|
|
29
|
+
description: Quantity available to reserve.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Stock Item is the Inventory System's view of available stock for a product at a fulfilment location.
|
|
35
|
+
|
|
36
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: warehouse-pick
|
|
3
|
+
name: Warehouse Pick
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: pickId
|
|
6
|
+
summary: A warehouse task to pick items for a completed order.
|
|
7
|
+
owners:
|
|
8
|
+
- fulfilment-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: pickId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique warehouse pick identifier.
|
|
14
|
+
- name: orderId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Order being picked.
|
|
18
|
+
references: order
|
|
19
|
+
relationType: fulfils
|
|
20
|
+
referencesIdentifier: orderId
|
|
21
|
+
- name: assignedTo
|
|
22
|
+
type: string
|
|
23
|
+
required: false
|
|
24
|
+
description: Warehouse worker or automation lane assigned.
|
|
25
|
+
- name: status
|
|
26
|
+
type: string
|
|
27
|
+
required: true
|
|
28
|
+
description: Pick task status.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Overview
|
|
32
|
+
|
|
33
|
+
Warehouse Pick represents the operational task handled by the Warehouse System before an order can be packed and shipped.
|
|
34
|
+
|
|
35
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: fulfilment
|
|
3
|
+
name: Fulfilment
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse, and hands them to carriers for delivery.
|
|
7
|
+
owners:
|
|
8
|
+
- fulfilment-platform
|
|
9
|
+
systems:
|
|
10
|
+
- id: inventory-system
|
|
11
|
+
version: 1.0.0
|
|
12
|
+
- id: warehouse-system
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
- id: shipping-system
|
|
15
|
+
version: 1.0.0
|
|
16
|
+
- id: carrier
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
entities:
|
|
19
|
+
- id: stock-item
|
|
20
|
+
version: 1.0.0
|
|
21
|
+
- id: inventory-reservation
|
|
22
|
+
version: 1.0.0
|
|
23
|
+
- id: warehouse-pick
|
|
24
|
+
version: 1.0.0
|
|
25
|
+
- id: shipment
|
|
26
|
+
version: 1.0.0
|
|
27
|
+
badges:
|
|
28
|
+
- content: Core domain
|
|
29
|
+
backgroundColor: blue
|
|
30
|
+
textColor: blue
|
|
31
|
+
icon: RectangleGroupIcon
|
|
32
|
+
- content: Business Critical
|
|
33
|
+
backgroundColor: red
|
|
34
|
+
textColor: red
|
|
35
|
+
icon: ShieldCheckIcon
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Overview
|
|
39
|
+
|
|
40
|
+
The **Fulfilment** domain is responsible for the physical side of an order — making sure stock is available, picking and packing it, and shipping it to the customer. It owns three internal systems and integrates with external carriers:
|
|
41
|
+
|
|
42
|
+
<Tiles>
|
|
43
|
+
<Tile
|
|
44
|
+
icon="ArchiveBoxIcon"
|
|
45
|
+
href="/docs/systems/inventory-system/1.0.0"
|
|
46
|
+
title="Inventory System"
|
|
47
|
+
description="Tracks and reserves stock for orders."
|
|
48
|
+
/>
|
|
49
|
+
<Tile
|
|
50
|
+
icon="BuildingStorefrontIcon"
|
|
51
|
+
href="/docs/systems/warehouse-system/1.0.0"
|
|
52
|
+
title="Warehouse System"
|
|
53
|
+
description="Picks and packs orders ready for shipping."
|
|
54
|
+
/>
|
|
55
|
+
<Tile
|
|
56
|
+
icon="TruckIcon"
|
|
57
|
+
href="/docs/systems/shipping-system/1.0.0"
|
|
58
|
+
title="Shipping System"
|
|
59
|
+
description="Hands packed orders to carriers for delivery."
|
|
60
|
+
/>
|
|
61
|
+
<Tile
|
|
62
|
+
icon="GlobeAltIcon"
|
|
63
|
+
href="/docs/systems/carrier/1.0.0"
|
|
64
|
+
title="Carrier"
|
|
65
|
+
description="External carrier that delivers shipments to customers."
|
|
66
|
+
/>
|
|
67
|
+
</Tiles>
|
|
68
|
+
|
|
69
|
+
### How the systems work together
|
|
70
|
+
|
|
71
|
+
When an order is completed, the **Warehouse System** picks and packs it, having relied on the **Inventory System** to reserve stock earlier in checkout. Once packed, the **Shipping System** creates a shipment with an external **Carrier**, which delivers it to the customer and reports progress back.
|
|
72
|
+
|
|
73
|
+
## System Diagram
|
|
74
|
+
|
|
75
|
+
The systems in this domain, how they relate, and the people who interact with them.
|
|
76
|
+
|
|
77
|
+
<ContextDiagram />
|
|
78
|
+
|
|
79
|
+
## Resource Diagram
|
|
80
|
+
|
|
81
|
+
The components that make up this domain.
|
|
82
|
+
|
|
83
|
+
<NodeGraph />
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: carrier
|
|
3
|
+
name: Carrier
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
scope: external
|
|
6
|
+
summary: |
|
|
7
|
+
External carrier that delivers shipments to customers. It accepts shipment requests and reports delivery progress back.
|
|
8
|
+
owners:
|
|
9
|
+
- fulfilment-platform
|
|
10
|
+
services:
|
|
11
|
+
- id: carrier-shipping-api
|
|
12
|
+
- id: carrier-tracking-api
|
|
13
|
+
relationships:
|
|
14
|
+
- id: shipping-system
|
|
15
|
+
label: delivers shipments for
|
|
16
|
+
badges:
|
|
17
|
+
- content: External
|
|
18
|
+
backgroundColor: yellow
|
|
19
|
+
textColor: yellow
|
|
20
|
+
icon: GlobeAltIcon
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Overview
|
|
24
|
+
|
|
25
|
+
The **Carrier** is the external delivery company Acme Inc uses to ship orders to customers. It is owned and operated by a third party — modelled here as an **external system** so the catalog shows how the [[system|shipping-system]] integrates with it.
|
|
26
|
+
|
|
27
|
+
It receives [[command|create-shipment]] and reports progress back via [[event|shipment-created]], [[event|shipment-delivered]] and [[event|shipment-failed]].
|
|
28
|
+
|
|
29
|
+
## Context Diagram
|
|
30
|
+
|
|
31
|
+
How this system relates to the other systems around it.
|
|
32
|
+
|
|
33
|
+
<ContextDiagram />
|
|
34
|
+
|
|
35
|
+
## Resource Diagram
|
|
36
|
+
|
|
37
|
+
The services and messages that make up this system.
|
|
38
|
+
|
|
39
|
+
<NodeGraph />
|
|
40
|
+
|
|
41
|
+
## What's inside
|
|
42
|
+
|
|
43
|
+
| Component | Type | Responsibility |
|
|
44
|
+
| --------------------------------- | ------- | ------------------------------------------------- |
|
|
45
|
+
| [[service\|carrier-shipping-api]] | Service | Accepts shipment requests and dispatches parcels. |
|
|
46
|
+
| [[service\|carrier-tracking-api]] | Service | Reports delivery progress back to Acme Inc. |
|
|
47
|
+
|
|
48
|
+
## Messages this system publishes
|
|
49
|
+
|
|
50
|
+
- [[event\|shipment-created]] — a shipment has been created and dispatched.
|
|
51
|
+
- [[event\|shipment-delivered]] — a shipment was delivered to the customer.
|
|
52
|
+
- [[event\|shipment-failed]] — a shipment could not be delivered.
|
package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierShippingAPI/index.mdx
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: carrier-shipping-api
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: Shipping API
|
|
5
|
+
summary: |
|
|
6
|
+
The carrier's API for creating shipments. Acme Inc's Shipping System calls it to dispatch packed orders.
|
|
7
|
+
styles:
|
|
8
|
+
icon: /icons/languages/nodejs.svg
|
|
9
|
+
owners:
|
|
10
|
+
- fulfilment-platform
|
|
11
|
+
receives:
|
|
12
|
+
- id: create-shipment
|
|
13
|
+
version: 1.0.0
|
|
14
|
+
repository:
|
|
15
|
+
language: External
|
|
16
|
+
url: 'https://github.com/acme/carrier-integration'
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
import Footer from '@catalog/components/footer.astro';
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
The **Shipping API** is the carrier's external interface for creating shipments. The [[system|shipping-system]] sends [[command|create-shipment]], and the carrier dispatches the parcel and begins reporting progress through its [[service|carrier-tracking-api]].
|
|
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="Shipment creation requests"
|
|
31
|
+
/>
|
|
32
|
+
</Tiles>
|
|
33
|
+
|
|
34
|
+
## Architecture diagram
|
|
35
|
+
|
|
36
|
+
<NodeGraph />
|
|
37
|
+
|
|
38
|
+
<MessageTable format="all" limit={8} />
|
|
39
|
+
|
|
40
|
+
<Footer />
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: shipment-created
|
|
3
|
+
name: Shipment Created
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
Published by the carrier when a shipment has been created and dispatched.
|
|
7
|
+
owners:
|
|
8
|
+
- fulfilment-platform
|
|
9
|
+
badges:
|
|
10
|
+
- content: 'Broker:Kafka'
|
|
11
|
+
backgroundColor: blue
|
|
12
|
+
textColor: blue
|
|
13
|
+
icon: BoltIcon
|
|
14
|
+
schemaPath: schema.json
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
import Footer from '@catalog/components/footer.astro';
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
`ShipmentCreated` is published by the carrier's [[service|carrier-tracking-api]] when a shipment has been created and dispatched. Acme Inc consumes it to give the customer a tracking number and expected delivery date.
|
|
22
|
+
|
|
23
|
+
<SchemaViewer file="schema.json" title="JSON Schema" maxHeight="500" />
|
|
24
|
+
|
|
25
|
+
## Architecture diagram
|
|
26
|
+
|
|
27
|
+
<NodeGraph />
|
|
28
|
+
|
|
29
|
+
<Footer />
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "ShipmentCreated",
|
|
4
|
+
"description": "Published when a shipment has been created and dispatched",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"shipmentId": { "type": "string", "format": "uuid" },
|
|
8
|
+
"orderId": { "type": "string", "format": "uuid" },
|
|
9
|
+
"trackingNumber": { "type": "string" },
|
|
10
|
+
"carrier": { "type": "string" },
|
|
11
|
+
"estimatedDelivery": { "type": "string", "format": "date" },
|
|
12
|
+
"createdAt": { "type": "string", "format": "date-time" }
|
|
13
|
+
},
|
|
14
|
+
"required": ["shipmentId", "orderId", "trackingNumber", "createdAt"]
|
|
15
|
+
}
|