-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimage-processing-system-design.drawio
More file actions
111 lines (111 loc) · 9.57 KB
/
Copy pathimage-processing-system-design.drawio
File metadata and controls
111 lines (111 loc) · 9.57 KB
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
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" version="26.0.16">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1235" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="qQUqxwnk6jcPbA8h2_o6-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="100" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="Client" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="60" y="80" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-2" value="<b>Upload</b> API (FastAPI)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="270" y="80" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="510" y="99.5" as="targetPoint" />
<mxPoint x="410" y="99.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-48" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="qQUqxwnk6jcPbA8h2_o6-8" target="qQUqxwnk6jcPbA8h2_o6-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-8" value="&nbsp; &nbsp; &nbsp; MongoDB" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=left;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="510" y="80" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-9" value="<div>&nbsp; &nbsp; &nbsp; Celery Task Queue (Redis)</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=left;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="700" y="80" width="270" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-29" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="58" y="302" width="740" height="45.48000000000002" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-17" value="<b>Status </b>API (FastAPI)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry width="130" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="qQUqxwnk6jcPbA8h2_o6-29" source="qQUqxwnk6jcPbA8h2_o6-18" target="qQUqxwnk6jcPbA8h2_o6-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-18" value="<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MongoDB</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=left;" vertex="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry x="210" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-19" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="qQUqxwnk6jcPbA8h2_o6-29" source="qQUqxwnk6jcPbA8h2_o6-17">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="70" as="sourcePoint" />
<mxPoint x="210" y="20" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-25" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" edge="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="19.5" as="sourcePoint" />
<mxPoint x="470" y="20" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-26" value="<div>Webhook Trigger</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry x="470" width="320" height="40" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-41" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://mailparser.io/wp-content/uploads/2018/08/what-is-a-webhook-1024x536.jpeg;" vertex="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry x="682" y="7.480000000000018" width="50.31" height="25.03" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-43" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.opc-router.de/wp-content/uploads/2021/03/mongodb_thumbnail.png;clipPath=inset(0% 8.74% 30% 6.05%);" vertex="1" parent="qQUqxwnk6jcPbA8h2_o6-29">
<mxGeometry x="302" y="7.480000000000018" width="24.95" height="27.58" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-31" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="qQUqxwnk6jcPbA8h2_o6-32">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="210" as="sourcePoint" />
<mxPoint x="760" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="qQUqxwnk6jcPbA8h2_o6-9" target="qQUqxwnk6jcPbA8h2_o6-32">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="120" as="sourcePoint" />
<mxPoint x="760" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-32" value="Celery Worker" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="700" y="160" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="759.5" y="190" as="sourcePoint" />
<mxPoint x="759.5" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-35" value="Processed Images" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="700" y="231" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-38" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="759.5" y="261" as="sourcePoint" />
<mxPoint x="759.5" y="301" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-39" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="100" as="sourcePoint" />
<mxPoint x="460" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-46" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.opc-router.de/wp-content/uploads/2021/03/mongodb_thumbnail.png;clipPath=inset(0% 8.74% 30% 6.05%);" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="600" y="86.21000000000004" width="24.95" height="27.58" as="geometry" />
</mxCell>
<mxCell id="qQUqxwnk6jcPbA8h2_o6-52" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://i.ytimg.com/vi/9h04VGqj9_c/hqdefault.jpg;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="880" y="85.5" width="40" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>