@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
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: orders.{env}.events
|
|
3
|
-
name: Order Events Channel
|
|
4
|
-
version: 1.0.1
|
|
5
|
-
summary: |
|
|
6
|
-
Central event stream for all order-related events in the order processing lifecycle
|
|
7
|
-
owners:
|
|
8
|
-
- dboyne
|
|
9
|
-
address: orders.{env}.events
|
|
10
|
-
protocols:
|
|
11
|
-
- kafka
|
|
12
|
-
routes:
|
|
13
|
-
- id: inventory-queue
|
|
14
|
-
parameters:
|
|
15
|
-
env:
|
|
16
|
-
enum:
|
|
17
|
-
- dev
|
|
18
|
-
- sit
|
|
19
|
-
- prod
|
|
20
|
-
description: 'Environment to use'
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
### Overview
|
|
24
|
-
|
|
25
|
-
The Orders Events channel is the central stream for all order-related events across the order processing lifecycle. This includes order creation, updates, payment status, fulfillment status, and customer communications. All events related to a specific order are guaranteed to be processed in sequence when using orderId as the partition key.
|
|
26
|
-
|
|
27
|
-
<ChannelInformation />
|
|
28
|
-
|
|
29
|
-
### Publishing a message using Kafka
|
|
30
|
-
|
|
31
|
-
Here is an example of how to publish an order event using Kafka:
|
|
32
|
-
|
|
33
|
-
```python
|
|
34
|
-
from kafka import KafkaProducer
|
|
35
|
-
import json
|
|
36
|
-
from datetime import datetime
|
|
37
|
-
|
|
38
|
-
# Kafka configuration
|
|
39
|
-
bootstrap_servers = ['localhost:9092']
|
|
40
|
-
topic = f'orders.{env}.events'
|
|
41
|
-
|
|
42
|
-
# Create a Kafka producer
|
|
43
|
-
producer = KafkaProducer(
|
|
44
|
-
bootstrap_servers=bootstrap_servers,
|
|
45
|
-
value_serializer=lambda v: json.dumps(v).encode('utf-8')
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
# Example order created event
|
|
49
|
-
order_event = {
|
|
50
|
-
"eventType": "ORDER_CREATED",
|
|
51
|
-
"timestamp": datetime.utcnow().isoformat(),
|
|
52
|
-
"version": "1.0",
|
|
53
|
-
"payload": {
|
|
54
|
-
"orderId": "12345",
|
|
55
|
-
"customerId": "CUST-789",
|
|
56
|
-
"items": [
|
|
57
|
-
{
|
|
58
|
-
"productId": "PROD-456",
|
|
59
|
-
"quantity": 2,
|
|
60
|
-
"price": 29.99
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
"totalAmount": 59.98,
|
|
64
|
-
"shippingAddress": {
|
|
65
|
-
"street": "123 Main St",
|
|
66
|
-
"city": "Springfield",
|
|
67
|
-
"country": "US"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"metadata": {
|
|
71
|
-
"source": "web_checkout",
|
|
72
|
-
"correlationId": "abc-xyz-123"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
# Send the message - using orderId as key for partitioning
|
|
77
|
-
producer.send(
|
|
78
|
-
topic,
|
|
79
|
-
key=order_event['payload']['orderId'].encode('utf-8'),
|
|
80
|
-
value=order_event
|
|
81
|
-
)
|
|
82
|
-
producer.flush()
|
|
83
|
-
|
|
84
|
-
print(f"Order event sent to topic {topic}")
|
|
85
|
-
```
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: payments.{env}.events
|
|
3
|
-
name: Payment Events Channel
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
summary: |
|
|
6
|
-
All events contain payment ID for traceability and ordered processing.
|
|
7
|
-
owners:
|
|
8
|
-
- dboyne
|
|
9
|
-
address: payments.{env}.events
|
|
10
|
-
protocols:
|
|
11
|
-
- kafka
|
|
12
|
-
|
|
13
|
-
parameters:
|
|
14
|
-
env:
|
|
15
|
-
enum:
|
|
16
|
-
- dev
|
|
17
|
-
- sit
|
|
18
|
-
- prod
|
|
19
|
-
description: 'Environment to use for payment events'
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
### Overview
|
|
23
|
-
|
|
24
|
-
The Payments Events channel is the central stream for all payment lifecycle events. This includes payment initiation, authorization, capture, completion and failure scenarios. Events for a specific payment are guaranteed to be processed in sequence when using paymentId as the partition key.
|
|
25
|
-
|
|
26
|
-
<ChannelInformation />
|
|
27
|
-
|
|
28
|
-
### Publishing Events Using Kafka
|
|
29
|
-
|
|
30
|
-
Here's an example of publishing a payment event:
|
|
31
|
-
|
|
32
|
-
```python
|
|
33
|
-
from kafka import KafkaProducer
|
|
34
|
-
import json
|
|
35
|
-
from datetime import datetime
|
|
36
|
-
|
|
37
|
-
# Kafka configuration
|
|
38
|
-
bootstrap_servers = ['localhost:9092']
|
|
39
|
-
topic = f'payments.{env}.events'
|
|
40
|
-
|
|
41
|
-
# Create Kafka producer
|
|
42
|
-
producer = KafkaProducer(
|
|
43
|
-
bootstrap_servers=bootstrap_servers,
|
|
44
|
-
value_serializer=lambda v: json.dumps(v).encode('utf-8')
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
# Example payment processed event
|
|
48
|
-
payment_event = {
|
|
49
|
-
"eventType": "PAYMENT_PROCESSED",
|
|
50
|
-
"timestamp": datetime.utcnow().isoformat(),
|
|
51
|
-
"version": "1.0",
|
|
52
|
-
"payload": {
|
|
53
|
-
"paymentId": "PAY-123-456",
|
|
54
|
-
"orderId": "ORD-789",
|
|
55
|
-
"amount": {
|
|
56
|
-
"value": 99.99,
|
|
57
|
-
"currency": "USD"
|
|
58
|
-
},
|
|
59
|
-
"status": "SUCCESS",
|
|
60
|
-
"paymentMethod": {
|
|
61
|
-
"type": "CREDIT_CARD",
|
|
62
|
-
"last4": "4242",
|
|
63
|
-
"expiryMonth": "12",
|
|
64
|
-
"expiryYear": "2025",
|
|
65
|
-
"network": "VISA"
|
|
66
|
-
},
|
|
67
|
-
"transactionDetails": {
|
|
68
|
-
"processorId": "stripe_123xyz",
|
|
69
|
-
"authorizationCode": "AUTH123",
|
|
70
|
-
"captureId": "CAP456"
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
"metadata": {
|
|
74
|
-
"correlationId": "corr-123-abc",
|
|
75
|
-
"merchantId": "MERCH-456",
|
|
76
|
-
"source": "payment_service",
|
|
77
|
-
"environment": "prod",
|
|
78
|
-
"idempotencyKey": "PAY-123-456-2024-11-11-99.99"
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
# Send message - using paymentId as key for partitioning
|
|
83
|
-
producer.send(
|
|
84
|
-
topic,
|
|
85
|
-
key=payment_event['payload']['paymentId'].encode('utf-8'),
|
|
86
|
-
value=payment_event
|
|
87
|
-
)
|
|
88
|
-
producer.flush()
|
|
89
|
-
```
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E-Commerce
|
|
3
|
-
name: E-Commerce
|
|
4
|
-
summary: Core business domain orchestrating FlowMart's digital marketplace operations
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
owners:
|
|
7
|
-
- dboyne
|
|
8
|
-
- full-stack
|
|
9
|
-
domains:
|
|
10
|
-
- id: Orders
|
|
11
|
-
- id: Payment
|
|
12
|
-
- id: Subscription
|
|
13
|
-
badges:
|
|
14
|
-
- content: Core domain
|
|
15
|
-
backgroundColor: blue
|
|
16
|
-
textColor: blue
|
|
17
|
-
icon: RectangleGroupIcon
|
|
18
|
-
- content: Business Critical
|
|
19
|
-
backgroundColor: yellow
|
|
20
|
-
textColor: yellow
|
|
21
|
-
icon: ShieldCheckIcon
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
import Footer from '@catalog/components/footer.astro';
|
|
25
|
-
|
|
26
|
-
The E-Commerce domain is the core business domain of FlowMart, our modern digital marketplace. This domain orchestrates all critical business operations from product discovery to order fulfillment, handling millions of transactions monthly across our global customer base.
|
|
27
|
-
|
|
28
|
-
<Tiles>
|
|
29
|
-
<Tile
|
|
30
|
-
icon="UserGroupIcon"
|
|
31
|
-
href="/docs/teams/full-stack"
|
|
32
|
-
title="Engineering Support"
|
|
33
|
-
description="Questions? Contact our full-stack team for technical support"
|
|
34
|
-
/>
|
|
35
|
-
<Tile
|
|
36
|
-
icon="RectangleGroupIcon"
|
|
37
|
-
href={`/visualiser/domains/${frontmatter.id}/${frontmatter.version}`}
|
|
38
|
-
title="Domain Architecture"
|
|
39
|
-
description="Explore our domain structure and service interactions"
|
|
40
|
-
/>
|
|
41
|
-
</Tiles>
|
|
42
|
-
|
|
43
|
-
## Domain Overview
|
|
44
|
-
|
|
45
|
-
FlowMart's E-Commerce domain is built on event-driven microservices architecture, enabling:
|
|
46
|
-
|
|
47
|
-
- Real-time inventory management across multiple warehouses
|
|
48
|
-
- Seamless payment processing with multiple providers
|
|
49
|
-
- Smart order routing and fulfillment
|
|
50
|
-
- Personalized customer notifications
|
|
51
|
-
- Subscription-based shopping experiences
|
|
52
|
-
- Advanced fraud detection and prevention
|
|
53
|
-
|
|
54
|
-
## Sub domains
|
|
55
|
-
|
|
56
|
-
The E-Commerce domain is built on the following sub domains:
|
|
57
|
-
|
|
58
|
-
- <ResourceLink id="Orders" type="domain">
|
|
59
|
-
Orders
|
|
60
|
-
</ResourceLink>
|
|
61
|
-
- Core domain for order management
|
|
62
|
-
- <ResourceLink id="Payment" type="domain">
|
|
63
|
-
Payment
|
|
64
|
-
</ResourceLink>
|
|
65
|
-
- A generic domain for payment processing using Stripe as a payment provider
|
|
66
|
-
- <ResourceLink id="Subscription" type="domain">
|
|
67
|
-
Subscription
|
|
68
|
-
</ResourceLink>
|
|
69
|
-
- Generic subscription domain handling users subscriptions
|
|
70
|
-
|
|
71
|
-
## Architecture
|
|
72
|
-
|
|
73
|
-
Our current event-driven architecture powering FlowMart's shopping experience:
|
|
74
|
-
|
|
75
|
-
<NodeGraph />
|
|
76
|
-
|
|
77
|
-
### Order Processing Flow
|
|
78
|
-
|
|
79
|
-
```mermaid
|
|
80
|
-
sequenceDiagram
|
|
81
|
-
participant Customer
|
|
82
|
-
participant OrdersService
|
|
83
|
-
participant InventoryService
|
|
84
|
-
participant PaymentService
|
|
85
|
-
participant NotificationService
|
|
86
|
-
participant ShippingService
|
|
87
|
-
|
|
88
|
-
Customer->>OrdersService: Place Order
|
|
89
|
-
OrdersService->>InventoryService: Check Stock Availability
|
|
90
|
-
InventoryService-->>OrdersService: Stock Confirmed
|
|
91
|
-
OrdersService->>PaymentService: Process Payment
|
|
92
|
-
PaymentService-->>OrdersService: Payment Successful
|
|
93
|
-
OrdersService->>InventoryService: Reserve Inventory
|
|
94
|
-
OrdersService->>ShippingService: Create Shipping Label
|
|
95
|
-
ShippingService-->>OrdersService: Shipping Label Generated
|
|
96
|
-
OrdersService->>NotificationService: Send Order Confirmation
|
|
97
|
-
NotificationService-->>Customer: Order & Tracking Details
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Key Business Flows
|
|
101
|
-
|
|
102
|
-
### Subscription Management
|
|
103
|
-
|
|
104
|
-
Our subscription service powers FlowMart's popular "Subscribe & Save" feature:
|
|
105
|
-
|
|
106
|
-
<Flow id="CancelSubscription" version="latest" includeKey={false} />
|
|
107
|
-
|
|
108
|
-
### Payment Processing
|
|
109
|
-
|
|
110
|
-
Secure, multi-provider payment processing with fraud detection:
|
|
111
|
-
|
|
112
|
-
<Flow id="PaymentFlow" version="latest" includeKey={false} />
|
|
113
|
-
|
|
114
|
-
## Core Services
|
|
115
|
-
|
|
116
|
-
These services form the backbone of FlowMart's e-commerce operations:
|
|
117
|
-
|
|
118
|
-
<ResourceGroupTable
|
|
119
|
-
id="related-resources"
|
|
120
|
-
limit={7}
|
|
121
|
-
showOwners={true}
|
|
122
|
-
description="Essential services powering our e-commerce platform"
|
|
123
|
-
/>
|
|
124
|
-
|
|
125
|
-
## Performance SLAs
|
|
126
|
-
|
|
127
|
-
- Order Processing: < 2 seconds
|
|
128
|
-
- Payment Processing: < 3 seconds
|
|
129
|
-
- Inventory Updates: Real-time
|
|
130
|
-
- Notification Delivery: < 30 seconds
|
|
131
|
-
|
|
132
|
-
## Monitoring & Alerts
|
|
133
|
-
|
|
134
|
-
- Real-time order volume monitoring
|
|
135
|
-
- Payment gateway health checks
|
|
136
|
-
- Inventory level alerts
|
|
137
|
-
- Customer experience metrics
|
|
138
|
-
- System performance dashboards
|
|
139
|
-
|
|
140
|
-
<Footer />
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
dictionary:
|
|
3
|
-
- id: Marketplace
|
|
4
|
-
name: Marketplace
|
|
5
|
-
summary: 'The digital platform where buyers and sellers interact to browse, purchase, and sell goods.'
|
|
6
|
-
description: |
|
|
7
|
-
The marketplace is FlowMart's core digital storefront, providing the infrastructure for all commerce activity. It encompasses:
|
|
8
|
-
|
|
9
|
-
- Product discovery and search capabilities
|
|
10
|
-
- Seller listings and buyer interactions
|
|
11
|
-
- Transaction facilitation and trust mechanisms
|
|
12
|
-
- Platform-wide policies and governance
|
|
13
|
-
icon: Store
|
|
14
|
-
- id: Checkout
|
|
15
|
-
name: Checkout
|
|
16
|
-
summary: 'The process by which a customer finalizes a purchase, providing payment and shipping details.'
|
|
17
|
-
description: |
|
|
18
|
-
Checkout is the critical conversion step where a browsing customer becomes a paying customer. The checkout flow includes:
|
|
19
|
-
|
|
20
|
-
- Cart review and item confirmation
|
|
21
|
-
- Shipping address and method selection
|
|
22
|
-
- Payment method selection and authorization
|
|
23
|
-
- Order confirmation and receipt generation
|
|
24
|
-
|
|
25
|
-
Optimizing the checkout experience is essential for reducing cart abandonment and increasing conversion rates.
|
|
26
|
-
icon: ShoppingCart
|
|
27
|
-
- id: Cart
|
|
28
|
-
name: Cart
|
|
29
|
-
summary: 'A temporary collection of items a customer intends to purchase.'
|
|
30
|
-
description: |
|
|
31
|
-
The shopping cart holds selected products before checkout. Key behaviors include:
|
|
32
|
-
|
|
33
|
-
- Adding and removing items
|
|
34
|
-
- Updating item quantities
|
|
35
|
-
- Applying discount codes and promotions
|
|
36
|
-
- Calculating subtotals, taxes, and shipping estimates
|
|
37
|
-
|
|
38
|
-
Carts may persist across sessions for authenticated customers and have configurable expiration policies.
|
|
39
|
-
icon: ShoppingBag
|
|
40
|
-
- id: Catalog
|
|
41
|
-
name: Catalog
|
|
42
|
-
summary: 'The complete collection of products available for sale on the marketplace.'
|
|
43
|
-
icon: BookOpen
|
|
44
|
-
- id: Customer
|
|
45
|
-
name: Customer
|
|
46
|
-
summary: 'An individual or organization that purchases goods or services from the marketplace.'
|
|
47
|
-
description: |
|
|
48
|
-
Customers are the primary consumers in the e-commerce domain. A customer profile includes:
|
|
49
|
-
|
|
50
|
-
- Account and identity information
|
|
51
|
-
- Order history and preferences
|
|
52
|
-
- Saved addresses and payment methods
|
|
53
|
-
- Loyalty status and rewards balance
|
|
54
|
-
|
|
55
|
-
Customers may be guests (unauthenticated) or registered account holders.
|
|
56
|
-
icon: User
|
|
57
|
-
- id: Storefront
|
|
58
|
-
name: Storefront
|
|
59
|
-
summary: 'The customer-facing presentation layer of the marketplace, including product pages, navigation, and branding.'
|
|
60
|
-
icon: Layout
|
|
61
|
-
- id: Promotion
|
|
62
|
-
name: Promotion
|
|
63
|
-
summary: 'A marketing incentive such as a discount, coupon, or special offer applied to products or orders.'
|
|
64
|
-
description: |
|
|
65
|
-
Promotions drive customer engagement and sales. Common promotion types include:
|
|
66
|
-
|
|
67
|
-
- Percentage or fixed-amount discounts
|
|
68
|
-
- Buy-one-get-one (BOGO) offers
|
|
69
|
-
- Free shipping thresholds
|
|
70
|
-
- Time-limited flash sales
|
|
71
|
-
- Loyalty reward redemptions
|
|
72
|
-
|
|
73
|
-
Promotions have eligibility rules, usage limits, and validity periods.
|
|
74
|
-
icon: Percent
|
|
75
|
-
- id: Conversion
|
|
76
|
-
name: Conversion
|
|
77
|
-
summary: 'The completion of a desired customer action, most commonly a purchase.'
|
|
78
|
-
icon: TrendingUp
|
|
79
|
-
- id: Fulfillment
|
|
80
|
-
name: Fulfillment
|
|
81
|
-
summary: "The end-to-end process of receiving, processing, and delivering a customer's order."
|
|
82
|
-
icon: PackageCheck
|
|
83
|
-
- id: Cart Abandonment
|
|
84
|
-
name: Cart Abandonment
|
|
85
|
-
summary: 'When a customer adds items to their cart but leaves the site without completing the purchase.'
|
|
86
|
-
icon: ShoppingCart
|
|
87
|
-
---
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: CartItem
|
|
3
|
-
name: CartItem
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
identifier: cartItemId
|
|
6
|
-
summary: Represents an individual item within a shopping cart.
|
|
7
|
-
owners:
|
|
8
|
-
- dboyne
|
|
9
|
-
properties:
|
|
10
|
-
- name: cartItemId
|
|
11
|
-
type: UUID
|
|
12
|
-
required: true
|
|
13
|
-
description: Unique identifier for the cart item
|
|
14
|
-
- name: cartId
|
|
15
|
-
type: UUID
|
|
16
|
-
required: true
|
|
17
|
-
description: Shopping cart this item belongs to
|
|
18
|
-
references: ShoppingCart
|
|
19
|
-
referencesIdentifier: cartId
|
|
20
|
-
relationType: hasOne
|
|
21
|
-
- name: productId
|
|
22
|
-
type: UUID
|
|
23
|
-
required: true
|
|
24
|
-
description: Product being added to cart
|
|
25
|
-
references: Product
|
|
26
|
-
referencesIdentifier: productId
|
|
27
|
-
relationType: hasOne
|
|
28
|
-
- name: sku
|
|
29
|
-
type: string
|
|
30
|
-
required: true
|
|
31
|
-
description: Product SKU at time of adding to cart
|
|
32
|
-
- name: productName
|
|
33
|
-
type: string
|
|
34
|
-
required: true
|
|
35
|
-
description: Product name snapshot at time of adding to cart
|
|
36
|
-
- name: productImage
|
|
37
|
-
type: string
|
|
38
|
-
required: false
|
|
39
|
-
description: Product image URL snapshot
|
|
40
|
-
- name: quantity
|
|
41
|
-
type: integer
|
|
42
|
-
required: true
|
|
43
|
-
description: Quantity of this product in the cart
|
|
44
|
-
- name: unitPrice
|
|
45
|
-
type: decimal
|
|
46
|
-
required: true
|
|
47
|
-
description: Unit price at time of adding to cart
|
|
48
|
-
- name: totalPrice
|
|
49
|
-
type: decimal
|
|
50
|
-
required: true
|
|
51
|
-
description: Total price for this line item (quantity × unit price)
|
|
52
|
-
- name: originalPrice
|
|
53
|
-
type: decimal
|
|
54
|
-
required: false
|
|
55
|
-
description: Original product price before any discounts
|
|
56
|
-
- name: discountAmount
|
|
57
|
-
type: decimal
|
|
58
|
-
required: false
|
|
59
|
-
description: Discount applied to this line item
|
|
60
|
-
- name: productVariant
|
|
61
|
-
type: object
|
|
62
|
-
required: false
|
|
63
|
-
description: Product variant details (size, color, etc.)
|
|
64
|
-
properties:
|
|
65
|
-
- name: size
|
|
66
|
-
type: string
|
|
67
|
-
description: Product size if applicable
|
|
68
|
-
- name: color
|
|
69
|
-
type: string
|
|
70
|
-
description: Product color if applicable
|
|
71
|
-
- name: style
|
|
72
|
-
type: string
|
|
73
|
-
description: Product style if applicable
|
|
74
|
-
- name: isAvailable
|
|
75
|
-
type: boolean
|
|
76
|
-
required: true
|
|
77
|
-
description: Whether the product is still available
|
|
78
|
-
- name: notes
|
|
79
|
-
type: string
|
|
80
|
-
required: false
|
|
81
|
-
description: Customer notes for this item
|
|
82
|
-
- name: addedAt
|
|
83
|
-
type: DateTime
|
|
84
|
-
required: true
|
|
85
|
-
description: Date and time when item was added to cart
|
|
86
|
-
- name: updatedAt
|
|
87
|
-
type: DateTime
|
|
88
|
-
required: false
|
|
89
|
-
description: Date and time when item was last updated
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Overview
|
|
93
|
-
|
|
94
|
-
The CartItem entity represents individual products within a customer's shopping cart. It maintains snapshots of product information and pricing to ensure consistency during the shopping session.
|
|
95
|
-
|
|
96
|
-
### Entity Properties
|
|
97
|
-
|
|
98
|
-
<EntityPropertiesTable />
|
|
99
|
-
|
|
100
|
-
## Relationships
|
|
101
|
-
|
|
102
|
-
- **ShoppingCart:** Each cart item belongs to one `ShoppingCart` (identified by `cartId`).
|
|
103
|
-
- **Product:** Each cart item references one `Product` (identified by `productId`).
|
|
104
|
-
|
|
105
|
-
## Price Calculations
|
|
106
|
-
|
|
107
|
-
- **Total Price** = Quantity × Unit Price - Discount Amount
|
|
108
|
-
- **Savings** = Original Price - Unit Price (if applicable)
|
|
109
|
-
|
|
110
|
-
## Examples
|
|
111
|
-
|
|
112
|
-
- **CartItem #1:** iPhone 15 Pro, quantity 1, $999.99 unit price, no discount.
|
|
113
|
-
- **CartItem #2:** Running Shoes Size 9, quantity 2, $64.99 unit price (was $129.99).
|
|
114
|
-
- **CartItem #3:** T-Shirt Large/Blue, quantity 3, $19.99 unit price.
|
|
115
|
-
|
|
116
|
-
## Business Rules
|
|
117
|
-
|
|
118
|
-
- Quantity must be greater than zero
|
|
119
|
-
- Unit price is captured at time of adding to maintain consistency
|
|
120
|
-
- Product availability is checked when cart is accessed
|
|
121
|
-
- Unavailable items are marked but not automatically removed
|
|
122
|
-
- Total price is recalculated when quantity changes
|
|
123
|
-
- Product snapshots prevent price changes from affecting active carts
|
|
124
|
-
- Maximum quantity limits may apply per product type
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: Customer
|
|
3
|
-
name: Customer
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
identifier: customerId
|
|
6
|
-
summary: Represents an individual or organization that places orders.
|
|
7
|
-
owners:
|
|
8
|
-
- dboyne
|
|
9
|
-
|
|
10
|
-
properties:
|
|
11
|
-
- name: customerId
|
|
12
|
-
type: UUID
|
|
13
|
-
required: true
|
|
14
|
-
description: Unique identifier for the customer
|
|
15
|
-
- name: firstName
|
|
16
|
-
type: string
|
|
17
|
-
required: true
|
|
18
|
-
description: Customer's first name
|
|
19
|
-
- name: lastName
|
|
20
|
-
type: string
|
|
21
|
-
required: true
|
|
22
|
-
description: Customer's last name
|
|
23
|
-
- name: email
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
description: Customer's primary email address (unique)
|
|
27
|
-
- name: phone
|
|
28
|
-
type: string
|
|
29
|
-
required: false
|
|
30
|
-
description: Customer's phone number
|
|
31
|
-
- name: addresses
|
|
32
|
-
type: array
|
|
33
|
-
items:
|
|
34
|
-
type: Address # Assuming an Address value object or entity exists
|
|
35
|
-
required: false
|
|
36
|
-
description: List of addresses associated with the customer (e.g., shipping, billing)
|
|
37
|
-
- name: dateRegistered
|
|
38
|
-
type: DateTime
|
|
39
|
-
required: true
|
|
40
|
-
description: Date and time when the customer registered
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Overview
|
|
44
|
-
|
|
45
|
-
The Customer entity holds information about the individuals or organizations who interact with the system, primarily by placing orders. It stores contact details, addresses, and other relevant personal or business information.
|
|
46
|
-
|
|
47
|
-
### Entity Properties
|
|
48
|
-
|
|
49
|
-
<EntityPropertiesTable />
|
|
50
|
-
|
|
51
|
-
## Relationships
|
|
52
|
-
|
|
53
|
-
- **Order:** A customer can have multiple `Order` entities. The `Order` entity holds a reference (`customerId`) back to the `Customer`.
|
|
54
|
-
- **Address:** A customer can have multiple associated `Address` value objects or entities.
|
|
55
|
-
|
|
56
|
-
## Examples
|
|
57
|
-
|
|
58
|
-
- **Customer A:** Jane Doe, registered on 2023-01-15, with a primary shipping address and a billing address.
|
|
59
|
-
- **Customer B:** John Smith, a long-time customer with multiple past orders.
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: Order
|
|
3
|
-
name: Order
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
identifier: orderId
|
|
6
|
-
aggregateRoot: true
|
|
7
|
-
summary: Represents a customer's request to purchase products or services.
|
|
8
|
-
owners:
|
|
9
|
-
- dboyne
|
|
10
|
-
properties:
|
|
11
|
-
- name: orderId
|
|
12
|
-
type: UUID
|
|
13
|
-
required: true
|
|
14
|
-
description: Unique identifier for the order
|
|
15
|
-
- name: orderNumber
|
|
16
|
-
type: string
|
|
17
|
-
required: true
|
|
18
|
-
description: Unique identifier for the order
|
|
19
|
-
- name: customerId
|
|
20
|
-
type: UUID
|
|
21
|
-
required: false
|
|
22
|
-
description: Identifier for the customer placing the order test
|
|
23
|
-
references: Customer
|
|
24
|
-
referencesIdentifier: customerId
|
|
25
|
-
relationType: hasOne
|
|
26
|
-
- name: orderDate
|
|
27
|
-
type: DateTime
|
|
28
|
-
required: true
|
|
29
|
-
description: Date and time when the order was placed
|
|
30
|
-
- name: status
|
|
31
|
-
type: string
|
|
32
|
-
required: true
|
|
33
|
-
description: Current status of the order (e.g., Pending, Processing, Shipped, Delivered, Cancelled)
|
|
34
|
-
enum: ['Pending', 'Processing', 'Shipped', 'Delivered', 'Cancelled']
|
|
35
|
-
- name: orderItems
|
|
36
|
-
type: array
|
|
37
|
-
items:
|
|
38
|
-
type: OrderItem # Assuming an OrderItem entity exists
|
|
39
|
-
required: true
|
|
40
|
-
references: OrderItem
|
|
41
|
-
referencesIdentifier: orderItemId
|
|
42
|
-
relationType: hasMany
|
|
43
|
-
description: List of items included in the order
|
|
44
|
-
- name: totalAmount
|
|
45
|
-
type: decimal
|
|
46
|
-
required: true
|
|
47
|
-
description: Total monetary value of the order
|
|
48
|
-
- name: shippingAddress
|
|
49
|
-
type: Address
|
|
50
|
-
required: true
|
|
51
|
-
description: Address where the order should be shipped
|
|
52
|
-
references: Address
|
|
53
|
-
referencesIdentifier: addressId
|
|
54
|
-
relationType: hasOne
|
|
55
|
-
- name: billingAddress
|
|
56
|
-
type: Address
|
|
57
|
-
required: true
|
|
58
|
-
description: Address for billing purposes
|
|
59
|
-
references: Address
|
|
60
|
-
referencesIdentifier: addressId
|
|
61
|
-
relationType: hasOne
|
|
62
|
-
- name: payment
|
|
63
|
-
type: Payment
|
|
64
|
-
required: false
|
|
65
|
-
description: Payment associated with this order
|
|
66
|
-
references: Payment
|
|
67
|
-
referencesIdentifier: orderId
|
|
68
|
-
relationType: hasOne
|
|
69
|
-
- name: convertedFromCartId
|
|
70
|
-
type: UUID
|
|
71
|
-
required: false
|
|
72
|
-
description: Shopping cart that was converted to this order
|
|
73
|
-
references: ShoppingCart
|
|
74
|
-
referencesIdentifier: cartId
|
|
75
|
-
relationType: hasOne
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Overview
|
|
79
|
-
|
|
80
|
-
The Order entity captures all details related to a customer's purchase request. It serves as the central aggregate root within the Orders domain, coordinating information about the customer, products ordered, payment, and shipping.
|
|
81
|
-
|
|
82
|
-
### Entity Properties
|
|
83
|
-
|
|
84
|
-
<EntityPropertiesTable />
|
|
85
|
-
|
|
86
|
-
## Relationships
|
|
87
|
-
|
|
88
|
-
- **Customer:** Each order belongs to one `Customer` (identified by `customerId`).
|
|
89
|
-
- **OrderItem:** An order contains one or more `OrderItem` entities detailing the specific products and quantities.
|
|
90
|
-
- **Address:** Each order has shipping and billing `Address` entities (identified by `shippingAddress` and `billingAddress`).
|
|
91
|
-
- **Payment:** An order is associated with one `Payment` entity for transaction processing.
|
|
92
|
-
- **ShoppingCart:** An order can be converted from a `ShoppingCart` (identified by `convertedFromCartId`).
|
|
93
|
-
- **Shipment:** An order may lead to one or more `Shipment` entities (not detailed here).
|
|
94
|
-
|
|
95
|
-
## Examples
|
|
96
|
-
|
|
97
|
-
- **Order #12345:** A customer orders 2 units of Product A and 1 unit of Product B, to be shipped to their home address. Status is 'Processing'.
|
|
98
|
-
- **Order #67890:** A customer places a large order for multiple items, requiring special shipping arrangements. Status is 'Pending' until payment confirmation.
|