-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathE-Commerce-System-Design.drawio
129 lines (129 loc) · 10.8 KB
/
E-Commerce-System-Design.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<mxfile host="app.diagrams.net" modified="2023-06-04T07:32:18.110Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" etag="wYEZ7QlW8aGa8zAdViZB" version="21.3.7" type="device" pages="2">
<diagram name="Page-1" id="JciNiugIsTIIhpxWSh_2">
<mxGraphModel dx="880" dy="476" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="24VS8oc4HLMBjwUYZ82y-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="24VS8oc4HLMBjwUYZ82y-1" target="24VS8oc4HLMBjwUYZ82y-15" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-1" value="API<br>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="150" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="24VS8oc4HLMBjwUYZ82y-2" target="24VS8oc4HLMBjwUYZ82y-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-2" value="Core" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="490" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="24VS8oc4HLMBjwUYZ82y-3" target="24VS8oc4HLMBjwUYZ82y-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-3" value="Infrastructure" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-12" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.498;exitY=1.012;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="24VS8oc4HLMBjwUYZ82y-3" target="24VS8oc4HLMBjwUYZ82y-2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="339.96" y="382" as="sourcePoint" />
<mxPoint x="340" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-13" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;entryX=0.5;entryY=-0.007;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="24VS8oc4HLMBjwUYZ82y-1" target="24VS8oc4HLMBjwUYZ82y-3" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="340" y="220" as="sourcePoint" />
<mxPoint x="340" y="319" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-15" value="Receive HTTP requests and respond to them&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="150" width="230" height="60" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-18" value="Communicate with the DB and send queries and get data&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="320" width="230" height="60" as="geometry" />
</mxCell>
<mxCell id="24VS8oc4HLMBjwUYZ82y-20" value="Contain the business entities. Do not depend on anything else" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="490" width="230" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="fwo4Cl9YCSuzttHjl5ny" name="API Architecture">
<mxGraphModel dx="1467" dy="1893" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="j6M4xYTNik5TFJSaVf4Q-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="j6M4xYTNik5TFJSaVf4Q-1" target="j6M4xYTNik5TFJSaVf4Q-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.47;entryY=-0.004;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;strokeWidth=4;" edge="1" parent="1" source="j6M4xYTNik5TFJSaVf4Q-1" target="j6M4xYTNik5TFJSaVf4Q-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-1" value="" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;dashPattern=8 8;" vertex="1" parent="1">
<mxGeometry x="40" y="-1040" width="320" height="250" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.781;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=4;exitX=0.124;exitY=1.004;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="j6M4xYTNik5TFJSaVf4Q-2" target="j6M4xYTNik5TFJSaVf4Q-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500.0000000000002" y="-710" as="targetPoint" />
<mxPoint x="530" y="-780" as="sourcePoint" />
<Array as="points">
<mxPoint x="530" y="-780" />
<mxPoint x="530" y="-780" />
<mxPoint x="530" y="-750" />
<mxPoint x="300" y="-750" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="j6M4xYTNik5TFJSaVf4Q-2" target="j6M4xYTNik5TFJSaVf4Q-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-2" value="" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;dashPattern=8 8;" vertex="1" parent="1">
<mxGeometry x="490" y="-1040" width="320" height="250" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-4" value="" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;dashPattern=8 8;" vertex="1" parent="1">
<mxGeometry x="490" y="-660" width="320" height="110" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-6" value="API" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=21;" vertex="1" parent="1">
<mxGeometry x="105" y="-1030" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-7" value="Controllers&nbsp;" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="50" y="-980" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-9" value="Infrastructure" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=21;" vertex="1" parent="1">
<mxGeometry x="555" y="-1030" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-10" value="Repository" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="510" y="-980" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-11" value="DbContext" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="510" y="-920" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-12" value="Services" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="510" y="-860" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="j6M4xYTNik5TFJSaVf4Q-6" target="j6M4xYTNik5TFJSaVf4Q-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-20" value="" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;dashPattern=8 8;" vertex="1" parent="1">
<mxGeometry x="50" y="-670" width="320" height="250" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-21" value="Core" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=21;" vertex="1" parent="1">
<mxGeometry x="115" y="-660" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-22" value="Entities" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="70" y="-610" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-23" value="Interfaces" style="rounded=1;whiteSpace=wrap;html=1;fontStyle=1;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="70" y="-550" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-25" value="" style="image;aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;spacingTop=3;image=img/lib/active_directory/databases.svg;" vertex="1" parent="1">
<mxGeometry x="540" y="-629.5" width="50" height="49" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-26" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#178AC2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="680" y="-645.5" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="j6M4xYTNik5TFJSaVf4Q-28" value="Stripe" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="690" y="-610.5" width="60" height="10" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>