@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,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
dictionary:
|
|
3
|
+
- id: Payment
|
|
4
|
+
name: Payment
|
|
5
|
+
summary: 'A charge taken from a customer to pay for an order.'
|
|
6
|
+
description: |
|
|
7
|
+
A payment is the central concept of the Payments domain. It is owned by the Payment Processing
|
|
8
|
+
System, which records every payment's status (REQUESTED, SUCCEEDED or FAILED). The actual money
|
|
9
|
+
movement happens at the external payment processor.
|
|
10
|
+
icon: CreditCard
|
|
11
|
+
- id: Authorization
|
|
12
|
+
name: Authorization
|
|
13
|
+
summary: "A hold placed on a customer's payment method, confirming funds are available before capture."
|
|
14
|
+
icon: ShieldCheck
|
|
15
|
+
- id: Capture
|
|
16
|
+
name: Capture
|
|
17
|
+
summary: 'Taking the held funds from an authorized payment — turning an authorization into an actual charge.'
|
|
18
|
+
icon: Banknote
|
|
19
|
+
- id: Refund
|
|
20
|
+
name: Refund
|
|
21
|
+
summary: 'Returning money to a customer for a previous payment, in full or in part.'
|
|
22
|
+
icon: Undo2
|
|
23
|
+
- id: Payment Processor
|
|
24
|
+
name: Payment Processor
|
|
25
|
+
summary: "The external provider (Stripe) that charges cards and issues refunds on Acme Inc's behalf."
|
|
26
|
+
description: |
|
|
27
|
+
The payment processor is a third party. Acme Inc never stores raw card details — it delegates
|
|
28
|
+
the actual charge and refund to the processor and reacts to the outcomes it reports back.
|
|
29
|
+
icon: Building2
|
|
30
|
+
- id: Fraud Screening
|
|
31
|
+
name: Fraud Screening
|
|
32
|
+
summary: 'Checking a payment for signs of fraud before allowing the charge to proceed.'
|
|
33
|
+
description: |
|
|
34
|
+
Fraud screening is performed by an external Fraud Detection provider. It returns a verdict —
|
|
35
|
+
passed or failed — that determines whether a payment is allowed or blocked.
|
|
36
|
+
icon: ShieldAlert
|
|
37
|
+
- id: Webhook
|
|
38
|
+
name: Webhook
|
|
39
|
+
summary: 'A callback the payment processor sends to report the outcome of a charge or refund.'
|
|
40
|
+
icon: Webhook
|
|
41
|
+
---
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
asyncapi: 3.0.0
|
|
2
|
+
|
|
3
|
+
info:
|
|
4
|
+
title: Review Moderation Worker
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: |
|
|
7
|
+
The event-driven interface of the Review Moderation Worker.
|
|
8
|
+
|
|
9
|
+
The worker consumes submitted and flagged reviews, screens them for spam, abuse
|
|
10
|
+
and policy violations, and publishes the outcome (published or rejected).
|
|
11
|
+
contact:
|
|
12
|
+
name: Reviews Platform
|
|
13
|
+
email: reviews-platform@acme.test
|
|
14
|
+
|
|
15
|
+
defaultContentType: application/json
|
|
16
|
+
|
|
17
|
+
servers:
|
|
18
|
+
production:
|
|
19
|
+
host: broker.acme.test:9092
|
|
20
|
+
protocol: kafka
|
|
21
|
+
description: Production Kafka cluster.
|
|
22
|
+
|
|
23
|
+
channels:
|
|
24
|
+
reviewIntake:
|
|
25
|
+
address: reviews.intake
|
|
26
|
+
title: Reviews to moderate
|
|
27
|
+
description: Reviews that need screening — newly submitted or flagged for re-moderation.
|
|
28
|
+
messages:
|
|
29
|
+
ReviewSubmitted:
|
|
30
|
+
$ref: '#/components/messages/ReviewSubmitted'
|
|
31
|
+
ReviewFlagged:
|
|
32
|
+
$ref: '#/components/messages/ReviewFlagged'
|
|
33
|
+
|
|
34
|
+
reviewOutcomes:
|
|
35
|
+
address: reviews.outcomes
|
|
36
|
+
title: Moderation outcomes
|
|
37
|
+
description: The decisions the worker publishes after screening a review.
|
|
38
|
+
messages:
|
|
39
|
+
ReviewPublished:
|
|
40
|
+
$ref: '#/components/messages/ReviewPublished'
|
|
41
|
+
ReviewRejected:
|
|
42
|
+
$ref: '#/components/messages/ReviewRejected'
|
|
43
|
+
|
|
44
|
+
operations:
|
|
45
|
+
receiveReviewSubmitted:
|
|
46
|
+
action: receive
|
|
47
|
+
title: Review Submitted
|
|
48
|
+
summary: Screen a newly submitted review.
|
|
49
|
+
channel:
|
|
50
|
+
$ref: '#/channels/reviewIntake'
|
|
51
|
+
messages:
|
|
52
|
+
- $ref: '#/channels/reviewIntake/messages/ReviewSubmitted'
|
|
53
|
+
|
|
54
|
+
receiveReviewFlagged:
|
|
55
|
+
action: receive
|
|
56
|
+
title: Review Flagged
|
|
57
|
+
summary: Re-screen a previously published review that has been flagged.
|
|
58
|
+
channel:
|
|
59
|
+
$ref: '#/channels/reviewIntake'
|
|
60
|
+
messages:
|
|
61
|
+
- $ref: '#/channels/reviewIntake/messages/ReviewFlagged'
|
|
62
|
+
|
|
63
|
+
publishReviewPublished:
|
|
64
|
+
action: send
|
|
65
|
+
title: Review Published
|
|
66
|
+
summary: Published when a review passes moderation.
|
|
67
|
+
channel:
|
|
68
|
+
$ref: '#/channels/reviewOutcomes'
|
|
69
|
+
messages:
|
|
70
|
+
- $ref: '#/channels/reviewOutcomes/messages/ReviewPublished'
|
|
71
|
+
|
|
72
|
+
publishReviewRejected:
|
|
73
|
+
action: send
|
|
74
|
+
title: Review Rejected
|
|
75
|
+
summary: Published when a review fails moderation.
|
|
76
|
+
channel:
|
|
77
|
+
$ref: '#/channels/reviewOutcomes'
|
|
78
|
+
messages:
|
|
79
|
+
- $ref: '#/channels/reviewOutcomes/messages/ReviewRejected'
|
|
80
|
+
|
|
81
|
+
components:
|
|
82
|
+
messages:
|
|
83
|
+
ReviewSubmitted:
|
|
84
|
+
name: ReviewSubmitted
|
|
85
|
+
title: Review Submitted
|
|
86
|
+
summary: A customer submitted a review; it awaits moderation.
|
|
87
|
+
payload:
|
|
88
|
+
$ref: '#/components/schemas/ReviewSubmitted'
|
|
89
|
+
ReviewFlagged:
|
|
90
|
+
name: ReviewFlagged
|
|
91
|
+
title: Review Flagged
|
|
92
|
+
summary: A published review was flagged and needs re-screening.
|
|
93
|
+
payload:
|
|
94
|
+
$ref: '#/components/schemas/ReviewFlagged'
|
|
95
|
+
ReviewPublished:
|
|
96
|
+
name: ReviewPublished
|
|
97
|
+
title: Review Published
|
|
98
|
+
summary: A review passed moderation and is visible on the storefront.
|
|
99
|
+
payload:
|
|
100
|
+
$ref: '#/components/schemas/ReviewPublished'
|
|
101
|
+
ReviewRejected:
|
|
102
|
+
name: ReviewRejected
|
|
103
|
+
title: Review Rejected
|
|
104
|
+
summary: A review failed moderation and will not be shown.
|
|
105
|
+
payload:
|
|
106
|
+
$ref: '#/components/schemas/ReviewRejected'
|
|
107
|
+
|
|
108
|
+
schemas:
|
|
109
|
+
ReviewSubmitted:
|
|
110
|
+
type: object
|
|
111
|
+
properties:
|
|
112
|
+
reviewId:
|
|
113
|
+
type: string
|
|
114
|
+
format: uuid
|
|
115
|
+
productId:
|
|
116
|
+
type: string
|
|
117
|
+
customerId:
|
|
118
|
+
type: string
|
|
119
|
+
rating:
|
|
120
|
+
type: integer
|
|
121
|
+
minimum: 1
|
|
122
|
+
maximum: 5
|
|
123
|
+
title:
|
|
124
|
+
type: string
|
|
125
|
+
body:
|
|
126
|
+
type: string
|
|
127
|
+
submittedAt:
|
|
128
|
+
type: string
|
|
129
|
+
format: date-time
|
|
130
|
+
required: [reviewId, productId, customerId, rating, submittedAt]
|
|
131
|
+
ReviewFlagged:
|
|
132
|
+
type: object
|
|
133
|
+
properties:
|
|
134
|
+
reviewId:
|
|
135
|
+
type: string
|
|
136
|
+
format: uuid
|
|
137
|
+
productId:
|
|
138
|
+
type: string
|
|
139
|
+
reason:
|
|
140
|
+
type: string
|
|
141
|
+
enum: [spam, abuse, off_topic, inappropriate, other]
|
|
142
|
+
flagCount:
|
|
143
|
+
type: integer
|
|
144
|
+
minimum: 1
|
|
145
|
+
flaggedAt:
|
|
146
|
+
type: string
|
|
147
|
+
format: date-time
|
|
148
|
+
required: [reviewId, productId, reason, flaggedAt]
|
|
149
|
+
ReviewPublished:
|
|
150
|
+
type: object
|
|
151
|
+
properties:
|
|
152
|
+
reviewId:
|
|
153
|
+
type: string
|
|
154
|
+
format: uuid
|
|
155
|
+
productId:
|
|
156
|
+
type: string
|
|
157
|
+
customerId:
|
|
158
|
+
type: string
|
|
159
|
+
rating:
|
|
160
|
+
type: integer
|
|
161
|
+
minimum: 1
|
|
162
|
+
maximum: 5
|
|
163
|
+
publishedAt:
|
|
164
|
+
type: string
|
|
165
|
+
format: date-time
|
|
166
|
+
required: [reviewId, productId, rating, publishedAt]
|
|
167
|
+
ReviewRejected:
|
|
168
|
+
type: object
|
|
169
|
+
properties:
|
|
170
|
+
reviewId:
|
|
171
|
+
type: string
|
|
172
|
+
format: uuid
|
|
173
|
+
productId:
|
|
174
|
+
type: string
|
|
175
|
+
reason:
|
|
176
|
+
type: string
|
|
177
|
+
enum: [spam, abuse, off_topic, policy_violation]
|
|
178
|
+
rejectedAt:
|
|
179
|
+
type: string
|
|
180
|
+
format: date-time
|
|
181
|
+
required: [reviewId, productId, reason, rejectedAt]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: rating-cache
|
|
3
|
+
name: Rating Cache
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: Redis cache that serves each product's aggregate star rating with low latency.
|
|
6
|
+
container_type: cache
|
|
7
|
+
technology: redis@7
|
|
8
|
+
authoritative: false
|
|
9
|
+
access_mode: readWrite
|
|
10
|
+
purpose: Fast read store for aggregate product ratings
|
|
11
|
+
classification: internal
|
|
12
|
+
retention: transient
|
|
13
|
+
residency: eu-west-1
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<NodeGraph />
|
|
17
|
+
|
|
18
|
+
### What is this?
|
|
19
|
+
|
|
20
|
+
The **Rating Cache** holds the aggregate rating (average score and review count) for each product. It is a derived read model — never a source of truth — so it can be rebuilt at any time by replaying published reviews.
|
|
21
|
+
|
|
22
|
+
### What does it store?
|
|
23
|
+
|
|
24
|
+
- **Aggregate rating** — one entry per product: average rating, review count and last-updated timestamp.
|
|
25
|
+
|
|
26
|
+
### Access patterns
|
|
27
|
+
|
|
28
|
+
- The [[service|rating-aggregator]] writes the aggregate rating whenever a review is published.
|
|
29
|
+
- The [[service|review-api]] reads it to serve [[query|get-product-reviews]].
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: review-database
|
|
3
|
+
name: Review Database
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: PostgreSQL database that is the system of record for reviews and their moderation state.
|
|
6
|
+
container_type: database
|
|
7
|
+
technology: postgres@16
|
|
8
|
+
authoritative: true
|
|
9
|
+
access_mode: readWrite
|
|
10
|
+
purpose: System of record for reviews, ratings and moderation decisions
|
|
11
|
+
classification: internal
|
|
12
|
+
retention: indefinite
|
|
13
|
+
residency: eu-west-1
|
|
14
|
+
styles:
|
|
15
|
+
icon: /icons/database/postgresql.svg
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<NodeGraph />
|
|
19
|
+
|
|
20
|
+
### What is this?
|
|
21
|
+
|
|
22
|
+
The **Review Database** is the authoritative store for every review in the Reviews & Ratings domain. The [[service|review-api]] writes new reviews to it, and the [[service|review-moderation-worker]] records each moderation decision against the stored review.
|
|
23
|
+
|
|
24
|
+
### What does it store?
|
|
25
|
+
|
|
26
|
+
- **Reviews** — one row per review: product, customer, rating, title, body and lifecycle status (`submitted`, `published`, `rejected`).
|
|
27
|
+
- **Moderation decisions** — the outcome and reason for each moderated review, kept for audit.
|
|
28
|
+
|
|
29
|
+
### Access patterns
|
|
30
|
+
|
|
31
|
+
- The [[service|review-api]] writes new reviews and reads published reviews.
|
|
32
|
+
- The [[service|review-moderation-worker]] reads submitted reviews and writes moderation outcomes.
|
|
33
|
+
- The [[service|rating-aggregator]] reads published reviews to recompute aggregates.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: moderation-decision
|
|
3
|
+
name: Moderation Decision
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: moderationDecisionId
|
|
6
|
+
summary: The outcome of reviewing submitted customer feedback.
|
|
7
|
+
owners:
|
|
8
|
+
- reviews-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: moderationDecisionId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique moderation decision identifier.
|
|
14
|
+
- name: reviewId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Review being moderated.
|
|
18
|
+
references: review
|
|
19
|
+
relationType: decides
|
|
20
|
+
referencesIdentifier: reviewId
|
|
21
|
+
- name: outcome
|
|
22
|
+
type: string
|
|
23
|
+
required: true
|
|
24
|
+
description: Moderation result.
|
|
25
|
+
enum:
|
|
26
|
+
- published
|
|
27
|
+
- rejected
|
|
28
|
+
- name: decidedAt
|
|
29
|
+
type: datetime
|
|
30
|
+
required: true
|
|
31
|
+
description: Time the decision was made.
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
Moderation Decision records why a review became published or rejected and supports audit of [[service|review-moderation-worker]] behavior.
|
|
37
|
+
|
|
38
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: rating-summary
|
|
3
|
+
name: Rating Summary
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: productId
|
|
6
|
+
summary: Aggregated review statistics for a product.
|
|
7
|
+
owners:
|
|
8
|
+
- reviews-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: productId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Product being summarized.
|
|
14
|
+
references: product
|
|
15
|
+
relationType: summarizes
|
|
16
|
+
referencesIdentifier: productId
|
|
17
|
+
- name: averageRating
|
|
18
|
+
type: decimal
|
|
19
|
+
required: true
|
|
20
|
+
description: Average published rating.
|
|
21
|
+
- name: reviewCount
|
|
22
|
+
type: integer
|
|
23
|
+
required: true
|
|
24
|
+
description: Number of published reviews.
|
|
25
|
+
- name: updatedAt
|
|
26
|
+
type: datetime
|
|
27
|
+
required: true
|
|
28
|
+
description: Time the summary was recalculated.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Overview
|
|
32
|
+
|
|
33
|
+
Rating Summary is the read model maintained by [[service|rating-aggregator]] and stored in [[container|rating-cache]].
|
|
34
|
+
|
|
35
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: review
|
|
3
|
+
name: Review
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: reviewId
|
|
6
|
+
aggregateRoot: true
|
|
7
|
+
summary: A customer's review and rating of a product, including its moderation lifecycle.
|
|
8
|
+
owners:
|
|
9
|
+
- reviews-platform
|
|
10
|
+
properties:
|
|
11
|
+
- name: reviewId
|
|
12
|
+
type: UUID
|
|
13
|
+
required: true
|
|
14
|
+
description: Unique identifier for the review.
|
|
15
|
+
- name: productId
|
|
16
|
+
type: string
|
|
17
|
+
required: true
|
|
18
|
+
description: The product being reviewed.
|
|
19
|
+
references: product
|
|
20
|
+
relationType: reviews
|
|
21
|
+
referencesIdentifier: productId
|
|
22
|
+
- name: customerId
|
|
23
|
+
type: string
|
|
24
|
+
required: true
|
|
25
|
+
description: The customer who wrote the review.
|
|
26
|
+
references: customer-profile
|
|
27
|
+
relationType: writtenBy
|
|
28
|
+
referencesIdentifier: customerId
|
|
29
|
+
- name: rating
|
|
30
|
+
type: integer
|
|
31
|
+
required: true
|
|
32
|
+
description: Star rating from 1 to 5.
|
|
33
|
+
- name: title
|
|
34
|
+
type: string
|
|
35
|
+
required: false
|
|
36
|
+
description: Short headline for the review.
|
|
37
|
+
- name: body
|
|
38
|
+
type: string
|
|
39
|
+
required: true
|
|
40
|
+
description: The review text.
|
|
41
|
+
- name: status
|
|
42
|
+
type: string
|
|
43
|
+
required: true
|
|
44
|
+
description: Lifecycle status of the review.
|
|
45
|
+
enum:
|
|
46
|
+
- submitted
|
|
47
|
+
- published
|
|
48
|
+
- rejected
|
|
49
|
+
- name: submittedAt
|
|
50
|
+
type: datetime
|
|
51
|
+
required: true
|
|
52
|
+
description: When the review was submitted.
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Overview
|
|
56
|
+
|
|
57
|
+
The **Review** is the core aggregate of the Reviews & Ratings domain. It captures a customer's rating and written feedback for a product, along with the moderation `status` that controls whether it is visible on the storefront.
|
|
58
|
+
|
|
59
|
+
A review moves through three states:
|
|
60
|
+
|
|
61
|
+
1. **submitted** — stored by the [[service|review-api]], awaiting moderation.
|
|
62
|
+
2. **published** — passed moderation and visible (the [[service|rating-aggregator]] folds it into the product's rating).
|
|
63
|
+
3. **rejected** — failed moderation and never shown, but kept for audit.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: review-flag
|
|
3
|
+
name: Review Flag
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: flagId
|
|
6
|
+
summary: A customer report that a review may violate policy.
|
|
7
|
+
owners:
|
|
8
|
+
- reviews-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: flagId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique review flag identifier.
|
|
14
|
+
- name: reviewId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Review being reported.
|
|
18
|
+
references: review
|
|
19
|
+
relationType: flags
|
|
20
|
+
referencesIdentifier: reviewId
|
|
21
|
+
- name: reason
|
|
22
|
+
type: string
|
|
23
|
+
required: true
|
|
24
|
+
description: Reason selected by the customer.
|
|
25
|
+
- name: flaggedAt
|
|
26
|
+
type: datetime
|
|
27
|
+
required: true
|
|
28
|
+
description: Time the review was flagged.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Overview
|
|
32
|
+
|
|
33
|
+
Review Flag captures [[command|flag-review]] interactions and can send a published review back through moderation.
|
|
34
|
+
|
|
35
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: review-vote
|
|
3
|
+
name: Review Vote
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
identifier: voteId
|
|
6
|
+
summary: A customer's helpfulness vote on a product review.
|
|
7
|
+
owners:
|
|
8
|
+
- reviews-platform
|
|
9
|
+
properties:
|
|
10
|
+
- name: voteId
|
|
11
|
+
type: UUID
|
|
12
|
+
required: true
|
|
13
|
+
description: Unique review vote identifier.
|
|
14
|
+
- name: reviewId
|
|
15
|
+
type: UUID
|
|
16
|
+
required: true
|
|
17
|
+
description: Review being voted on.
|
|
18
|
+
references: review
|
|
19
|
+
relationType: votesOn
|
|
20
|
+
referencesIdentifier: reviewId
|
|
21
|
+
- name: customerId
|
|
22
|
+
type: UUID
|
|
23
|
+
required: true
|
|
24
|
+
description: Customer who voted.
|
|
25
|
+
references: customer-profile
|
|
26
|
+
relationType: submittedBy
|
|
27
|
+
referencesIdentifier: customerId
|
|
28
|
+
- name: votedAt
|
|
29
|
+
type: datetime
|
|
30
|
+
required: true
|
|
31
|
+
description: Time the vote was submitted.
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
Review Vote captures [[command|vote-review-helpful]] interactions and contributes to review helpfulness ranking.
|
|
37
|
+
|
|
38
|
+
<EntityPropertiesTable />
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: review-submission
|
|
3
|
+
name: Review Submission
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
summary: |
|
|
6
|
+
How a customer's product review travels from submission, through moderation, to being published and folded into the product's aggregate rating.
|
|
7
|
+
owners:
|
|
8
|
+
- reviews-platform
|
|
9
|
+
steps:
|
|
10
|
+
- id: customer_submits
|
|
11
|
+
title: Customer submits a review
|
|
12
|
+
actor:
|
|
13
|
+
name: Customer
|
|
14
|
+
summary: A customer writes a review and rating for a product they purchased.
|
|
15
|
+
next_step:
|
|
16
|
+
id: review_api
|
|
17
|
+
label: Submit review
|
|
18
|
+
|
|
19
|
+
- id: review_api
|
|
20
|
+
title: Review API
|
|
21
|
+
service:
|
|
22
|
+
id: review-api
|
|
23
|
+
version: 1.0.0
|
|
24
|
+
next_step:
|
|
25
|
+
id: review_database
|
|
26
|
+
label: Store review
|
|
27
|
+
|
|
28
|
+
- id: review_database
|
|
29
|
+
title: Review Database
|
|
30
|
+
container:
|
|
31
|
+
id: review-database
|
|
32
|
+
next_step:
|
|
33
|
+
id: review_submitted
|
|
34
|
+
label: Review stored
|
|
35
|
+
|
|
36
|
+
- id: review_submitted
|
|
37
|
+
title: Review Submitted
|
|
38
|
+
message:
|
|
39
|
+
id: review-submitted
|
|
40
|
+
version: 1.0.0
|
|
41
|
+
next_step:
|
|
42
|
+
id: moderation_worker
|
|
43
|
+
label: Screen review
|
|
44
|
+
|
|
45
|
+
- id: moderation_worker
|
|
46
|
+
title: Review Moderation Worker
|
|
47
|
+
service:
|
|
48
|
+
id: review-moderation-worker
|
|
49
|
+
version: 1.0.0
|
|
50
|
+
next_steps:
|
|
51
|
+
- id: review_published
|
|
52
|
+
label: Approved
|
|
53
|
+
- id: review_rejected
|
|
54
|
+
label: Rejected
|
|
55
|
+
|
|
56
|
+
- id: review_published
|
|
57
|
+
title: Review Published
|
|
58
|
+
message:
|
|
59
|
+
id: review-published
|
|
60
|
+
version: 1.0.0
|
|
61
|
+
next_step:
|
|
62
|
+
id: rating_aggregator
|
|
63
|
+
label: Update rating
|
|
64
|
+
|
|
65
|
+
- id: review_rejected
|
|
66
|
+
title: Review Rejected
|
|
67
|
+
message:
|
|
68
|
+
id: review-rejected
|
|
69
|
+
version: 1.0.0
|
|
70
|
+
next_step:
|
|
71
|
+
id: rejected_outcome
|
|
72
|
+
label: Not shown
|
|
73
|
+
|
|
74
|
+
- id: rating_aggregator
|
|
75
|
+
title: Rating Aggregator
|
|
76
|
+
service:
|
|
77
|
+
id: rating-aggregator
|
|
78
|
+
version: 1.0.0
|
|
79
|
+
next_step:
|
|
80
|
+
id: rating_cache
|
|
81
|
+
label: Write aggregate
|
|
82
|
+
|
|
83
|
+
- id: rating_cache
|
|
84
|
+
title: Rating Cache
|
|
85
|
+
container:
|
|
86
|
+
id: rating-cache
|
|
87
|
+
next_step:
|
|
88
|
+
id: published_outcome
|
|
89
|
+
label: Visible on storefront
|
|
90
|
+
|
|
91
|
+
- id: published_outcome
|
|
92
|
+
title: Review is live
|
|
93
|
+
custom:
|
|
94
|
+
title: Review is live
|
|
95
|
+
color: green
|
|
96
|
+
icon: StarIcon
|
|
97
|
+
type: Outcome
|
|
98
|
+
summary: The review is published and the product's aggregate rating is updated and served from the cache.
|
|
99
|
+
|
|
100
|
+
- id: rejected_outcome
|
|
101
|
+
title: Review rejected
|
|
102
|
+
custom:
|
|
103
|
+
title: Review rejected
|
|
104
|
+
color: red
|
|
105
|
+
icon: NoSymbolIcon
|
|
106
|
+
type: Outcome
|
|
107
|
+
summary: The review failed moderation. It is kept for audit but never shown on the storefront.
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Overview
|
|
111
|
+
|
|
112
|
+
**Review Submission** documents the journey of a customer review from submission through moderation to publication. A review is only ever folded into a product's rating once it has been approved.
|
|
113
|
+
|
|
114
|
+
<NodeGraph />
|
|
115
|
+
|
|
116
|
+
## How it works
|
|
117
|
+
|
|
118
|
+
1. A customer submits a review via the [[service|review-api]], which stores it in the [[container|review-database]] and publishes [[event|review-submitted]].
|
|
119
|
+
2. The [[service|review-moderation-worker]] screens the review and publishes either [[event|review-published]] or [[event|review-rejected]].
|
|
120
|
+
3. On approval, the [[service|rating-aggregator]] updates the product's aggregate rating in the [[container|rating-cache]] and the review goes live.
|