@eventcatalog/create-eventcatalog 3.0.1 → 3.0.3
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/asyncapi/gitignore +4 -1
- package/templates/default/domains/E-Commerce/index.mdx +152 -0
- package/templates/default/domains/Orders/index.mdx +28 -10
- package/templates/default/gitignore +4 -1
- package/templates/empty/gitignore +4 -1
- package/templates/openapi/gitignore +4 -1
package/dist/index.js
CHANGED
|
@@ -22466,7 +22466,7 @@ var import_os2 = __toESM(require("os"));
|
|
|
22466
22466
|
var package_default = {
|
|
22467
22467
|
name: "@eventcatalog/create-eventcatalog",
|
|
22468
22468
|
description: "Create EventCatalog with one command",
|
|
22469
|
-
version: "3.0.
|
|
22469
|
+
version: "3.0.3",
|
|
22470
22470
|
bin: {
|
|
22471
22471
|
"create-catalog": "./dist/index.js"
|
|
22472
22472
|
},
|
package/package.json
CHANGED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: E-Commerce
|
|
3
|
+
name: E-Commerce
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
owners:
|
|
6
|
+
- dboyne
|
|
7
|
+
- full-stack
|
|
8
|
+
domains:
|
|
9
|
+
- id: Orders
|
|
10
|
+
- id: Payment
|
|
11
|
+
- id: Subscription
|
|
12
|
+
badges:
|
|
13
|
+
- content: Core domain
|
|
14
|
+
backgroundColor: blue
|
|
15
|
+
textColor: blue
|
|
16
|
+
icon: RectangleGroupIcon
|
|
17
|
+
- content: Business Critical
|
|
18
|
+
backgroundColor: yellow
|
|
19
|
+
textColor: yellow
|
|
20
|
+
icon: ShieldCheckIcon
|
|
21
|
+
|
|
22
|
+
resourceGroups:
|
|
23
|
+
- id: related-resources
|
|
24
|
+
title: Core FlowMart Services
|
|
25
|
+
items:
|
|
26
|
+
- id: InventoryService
|
|
27
|
+
type: service
|
|
28
|
+
- id: OrdersService
|
|
29
|
+
type: service
|
|
30
|
+
- id: NotificationService
|
|
31
|
+
type: service
|
|
32
|
+
- id: ShippingService
|
|
33
|
+
type: service
|
|
34
|
+
- id: CustomerService
|
|
35
|
+
type: service
|
|
36
|
+
- id: PaymentService
|
|
37
|
+
type: service
|
|
38
|
+
- id: AnalyticsService
|
|
39
|
+
type: service
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
import Footer from '@catalog/components/footer.astro';
|
|
43
|
+
|
|
44
|
+
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.
|
|
45
|
+
|
|
46
|
+
<Tiles>
|
|
47
|
+
<Tile
|
|
48
|
+
icon="UserGroupIcon"
|
|
49
|
+
href="/docs/teams/full-stack"
|
|
50
|
+
title="Engineering Support"
|
|
51
|
+
description="Questions? Contact our full-stack team for technical support"
|
|
52
|
+
/>
|
|
53
|
+
<Tile
|
|
54
|
+
icon="RectangleGroupIcon"
|
|
55
|
+
href={`/visualiser/domains/${frontmatter.id}/${frontmatter.version}`}
|
|
56
|
+
title="Domain Architecture"
|
|
57
|
+
description="Explore our domain structure and service interactions"
|
|
58
|
+
/>
|
|
59
|
+
</Tiles>
|
|
60
|
+
|
|
61
|
+
## Domain Overview
|
|
62
|
+
|
|
63
|
+
FlowMart's E-Commerce domain is built on event-driven microservices architecture, enabling:
|
|
64
|
+
- Real-time inventory management across multiple warehouses
|
|
65
|
+
- Seamless payment processing with multiple providers
|
|
66
|
+
- Smart order routing and fulfillment
|
|
67
|
+
- Personalized customer notifications
|
|
68
|
+
- Subscription-based shopping experiences
|
|
69
|
+
- Advanced fraud detection and prevention
|
|
70
|
+
|
|
71
|
+
## Sub domains
|
|
72
|
+
|
|
73
|
+
The E-Commerce domain is built on the following sub domains:
|
|
74
|
+
|
|
75
|
+
- <ResourceLink id="Orders" type="domain">Orders</ResourceLink> - Core domain for order management
|
|
76
|
+
- <ResourceLink id="Payment" type="domain">Payment</ResourceLink> - A generic domain for payment processing using Stripe as a payment provider
|
|
77
|
+
- <ResourceLink id="Subscription" type="domain">Subscription</ResourceLink> - Generic subscription domain handling users subscriptions
|
|
78
|
+
|
|
79
|
+
## Target Architecture (Event Storming Results)
|
|
80
|
+
|
|
81
|
+
Our target architecture was defined through collaborative event storming sessions with product, engineering, and business stakeholders. This represents our vision for FlowMart's commerce capabilities.
|
|
82
|
+
|
|
83
|
+
<Miro boardId="uXjVIHCImos=/" moveToWidget="3074457347671667709" edit={false} />
|
|
84
|
+
|
|
85
|
+
## Current Production Architecture
|
|
86
|
+
|
|
87
|
+
Our current event-driven architecture powering FlowMart's shopping experience:
|
|
88
|
+
|
|
89
|
+
<NodeGraph />
|
|
90
|
+
|
|
91
|
+
### Order Processing Flow
|
|
92
|
+
|
|
93
|
+
```mermaid
|
|
94
|
+
sequenceDiagram
|
|
95
|
+
participant Customer
|
|
96
|
+
participant OrdersService
|
|
97
|
+
participant InventoryService
|
|
98
|
+
participant PaymentService
|
|
99
|
+
participant NotificationService
|
|
100
|
+
participant ShippingService
|
|
101
|
+
|
|
102
|
+
Customer->>OrdersService: Place Order
|
|
103
|
+
OrdersService->>InventoryService: Check Stock Availability
|
|
104
|
+
InventoryService-->>OrdersService: Stock Confirmed
|
|
105
|
+
OrdersService->>PaymentService: Process Payment
|
|
106
|
+
PaymentService-->>OrdersService: Payment Successful
|
|
107
|
+
OrdersService->>InventoryService: Reserve Inventory
|
|
108
|
+
OrdersService->>ShippingService: Create Shipping Label
|
|
109
|
+
ShippingService-->>OrdersService: Shipping Label Generated
|
|
110
|
+
OrdersService->>NotificationService: Send Order Confirmation
|
|
111
|
+
NotificationService-->>Customer: Order & Tracking Details
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Key Business Flows
|
|
115
|
+
|
|
116
|
+
### Subscription Management
|
|
117
|
+
Our subscription service powers FlowMart's popular "Subscribe & Save" feature:
|
|
118
|
+
|
|
119
|
+
<Flow id="CancelSubscription" version="latest" includeKey={false} />
|
|
120
|
+
|
|
121
|
+
### Payment Processing
|
|
122
|
+
Secure, multi-provider payment processing with fraud detection:
|
|
123
|
+
|
|
124
|
+
<Flow id="PaymentFlow" version="latest" includeKey={false} />
|
|
125
|
+
|
|
126
|
+
## Core Services
|
|
127
|
+
|
|
128
|
+
These services form the backbone of FlowMart's e-commerce operations:
|
|
129
|
+
|
|
130
|
+
<ResourceGroupTable
|
|
131
|
+
id="related-resources"
|
|
132
|
+
limit={7}
|
|
133
|
+
showOwners={true}
|
|
134
|
+
description="Essential services powering our e-commerce platform"
|
|
135
|
+
/>
|
|
136
|
+
|
|
137
|
+
## Performance SLAs
|
|
138
|
+
|
|
139
|
+
- Order Processing: < 2 seconds
|
|
140
|
+
- Payment Processing: < 3 seconds
|
|
141
|
+
- Inventory Updates: Real-time
|
|
142
|
+
- Notification Delivery: < 30 seconds
|
|
143
|
+
|
|
144
|
+
## Monitoring & Alerts
|
|
145
|
+
|
|
146
|
+
- Real-time order volume monitoring
|
|
147
|
+
- Payment gateway health checks
|
|
148
|
+
- Inventory level alerts
|
|
149
|
+
- Customer experience metrics
|
|
150
|
+
- System performance dashboards
|
|
151
|
+
|
|
152
|
+
<Footer />
|
|
@@ -7,35 +7,51 @@ owners:
|
|
|
7
7
|
- full-stack
|
|
8
8
|
services:
|
|
9
9
|
- id: InventoryService
|
|
10
|
-
- id: NotificationService
|
|
11
10
|
- id: OrdersService
|
|
12
|
-
- id:
|
|
11
|
+
- id: NotificationService
|
|
12
|
+
- id: ShippingService
|
|
13
13
|
badges:
|
|
14
|
-
- content:
|
|
14
|
+
- content: Subdomain
|
|
15
15
|
backgroundColor: blue
|
|
16
16
|
textColor: blue
|
|
17
|
+
icon: RectangleGroupIcon
|
|
18
|
+
|
|
19
|
+
resourceGroups:
|
|
20
|
+
- id: related-resources
|
|
21
|
+
title: Core resources
|
|
22
|
+
items:
|
|
23
|
+
- id: InventoryService
|
|
24
|
+
type: service
|
|
25
|
+
- id: OrdersService
|
|
26
|
+
type: service
|
|
27
|
+
- id: NotificationService
|
|
28
|
+
type: service
|
|
29
|
+
- id: ShippingService
|
|
30
|
+
type: service
|
|
17
31
|
---
|
|
18
32
|
|
|
19
33
|
import Footer from '@catalog/components/footer.astro';
|
|
20
34
|
|
|
21
|
-
## Overview
|
|
22
35
|
|
|
23
|
-
<Admonition type="warning">Please ensure all services are updated to the latest version for compatibility and performance improvements.</Admonition>
|
|
24
36
|
|
|
25
|
-
|
|
37
|
+
:::warning
|
|
26
38
|
|
|
39
|
+
Please ensure all services are **updated** to the latest version for compatibility and performance improvements.
|
|
40
|
+
:::
|
|
41
|
+
|
|
42
|
+
The Orders domain handles all operations related to customer orders, from creation to fulfillment. This documentation provides an overview of the events and services involved in the Orders domain, helping developers and stakeholders understand the event-driven architecture
|
|
27
43
|
|
|
28
44
|
<Tiles >
|
|
29
45
|
<Tile icon="UserGroupIcon" href="/docs/teams/full-stack" title="Contact the team" description="Any questions? Feel free to contact the owners" />
|
|
30
|
-
<Tile icon="RectangleGroupIcon" href={`/visualiser/domains/${frontmatter.id}/${frontmatter.version}`} title={`${frontmatter.services.length} services
|
|
46
|
+
<Tile icon="RectangleGroupIcon" href={`/visualiser/domains/${frontmatter.id}/${frontmatter.version}`} title={`${frontmatter.services.length} services`} description="This domain contains the following services." />
|
|
31
47
|
</Tiles>
|
|
32
48
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
## Bounded context
|
|
49
|
+
### Architecture for the Orders domain
|
|
36
50
|
|
|
37
51
|
<NodeGraph />
|
|
38
52
|
|
|
53
|
+
<MessageTable format="all" limit={4} showChannels={true} title="Messages in/out of the domain" />
|
|
54
|
+
|
|
39
55
|
### Order example (sequence diagram)
|
|
40
56
|
|
|
41
57
|
```mermaid
|
|
@@ -67,4 +83,6 @@ Documented flow when a user makes a payment within the order domain
|
|
|
67
83
|
|
|
68
84
|
<Flow id="PaymentFlow" version="latest" includeKey={false} />
|
|
69
85
|
|
|
86
|
+
<ResourceGroupTable id="related-resources" limit={4} showOwners={true} title="Core resources for the Orders domain" description="Resources that are related to the Orders domain, you may find them useful" />
|
|
87
|
+
|
|
70
88
|
<Footer />
|