-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBackopsBackendArchi.drawio
129 lines (129 loc) · 11.1 KB
/
BackopsBackendArchi.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" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" version="25.0.3">
<diagram name="Page-1" id="5c-N3aM7RLb5X0E32vks">
<mxGraphModel dx="2206" dy="2401" 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="0" />
<mxCell id="1" parent="0" />
<mxCell id="tYbbxvIeICveUMQb8AR5-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-8" target="tYbbxvIeICveUMQb8AR5-12" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="790" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-15" value="Upload Trigger" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="tYbbxvIeICveUMQb8AR5-11" vertex="1" connectable="0">
<mxGeometry x="0.1396" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-8" value="Upload bucket" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.bucket_with_objects;fillColor=#E05243;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="600" y="200" width="60" height="61.5" as="geometry" />
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-9" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="tYbbxvIeICveUMQb8AR5-29" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="240" as="sourcePoint" />
<mxPoint x="600" y="240" as="targetPoint" />
<Array as="points">
<mxPoint x="64" y="240" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-10" value="Upload to S3 bucket" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="tYbbxvIeICveUMQb8AR5-9" vertex="1" connectable="0">
<mxGeometry x="0.0046" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-12" target="tYbbxvIeICveUMQb8AR5-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YWi5xt1-C6gMOy3t3PZI-7" value="Upload item + thumbnail details + metadata" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="tYbbxvIeICveUMQb8AR5-32" vertex="1" connectable="0">
<mxGeometry x="-0.1547" relative="1" as="geometry">
<mxPoint y="79" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YWi5xt1-C6gMOy3t3PZI-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-12" target="YWi5xt1-C6gMOy3t3PZI-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1040" y="434" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-12" value="generateThumbnail<div>(Also generate metadata)</div><div><br></div>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#ED7100;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.lambda_function;" parent="1" vertex="1">
<mxGeometry x="779" y="410" width="48" height="48" as="geometry" />
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-23" target="tYbbxvIeICveUMQb8AR5-27" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-23" value="<div><br></div><div>DynamoDB</div><div><br></div>" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.dynamo_db;fillColor=#2E73B8;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="767" y="820" width="72" height="81" as="geometry" />
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-27" target="tYbbxvIeICveUMQb8AR5-29" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-27" value="getObjectList<div><br></div>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#ED7100;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.lambda_function;" parent="1" vertex="1">
<mxGeometry x="400" y="836.5" width="48" height="48" as="geometry" />
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="tYbbxvIeICveUMQb8AR5-29" target="AmnEW71E2zM5J6LSEBQ--2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="64" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--6" value="list of fileNames<br>getThumbnail: true/false" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="AmnEW71E2zM5J6LSEBQ--5" vertex="1" connectable="0">
<mxGeometry x="-0.0036" y="-2" relative="1" as="geometry">
<mxPoint x="41" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tYbbxvIeICveUMQb8AR5-29" value="User" style="image;aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;spacingTop=3;image=img/lib/active_directory/user.svg;" parent="1" vertex="1">
<mxGeometry x="30" y="480" width="68.5" height="185.14" as="geometry" />
</mxCell>
<mxCell id="YWi5xt1-C6gMOy3t3PZI-6" value="Thumbnail bucket" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.bucket_with_objects;fillColor=#E05243;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="550" y="403.25" width="60" height="61.5" as="geometry" />
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="AmnEW71E2zM5J6LSEBQ--2" target="YWi5xt1-C6gMOy3t3PZI-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="580" y="500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--10" value="getThumbnail: true" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="AmnEW71E2zM5J6LSEBQ--7" vertex="1" connectable="0">
<mxGeometry x="0.099" y="-2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="AmnEW71E2zM5J6LSEBQ--2" target="tYbbxvIeICveUMQb8AR5-8" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="420" y="350" />
<mxPoint x="630" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--9" value="getThumbnail: false" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="AmnEW71E2zM5J6LSEBQ--8" vertex="1" connectable="0">
<mxGeometry x="-0.3647" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AmnEW71E2zM5J6LSEBQ--2" value="downloadFiles" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#ED7100;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.lambda_function;" parent="1" vertex="1">
<mxGeometry x="400" y="700" width="48" height="48" as="geometry" />
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-28" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;edgeStyle=orthogonalEdgeStyle;endArrow=oval;endFill=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" source="sQ9Gj2LAa3YzsV_l0nJq-27" target="tYbbxvIeICveUMQb8AR5-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-27" value="Table structure" style="swimlane;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="910" y="870" width="130" height="200.25" as="geometry" />
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-29" value="PK: userId<div>SK: Timestamp</div><div>fileName: string</div><div>fileSize: string</div><div>metadata: string</div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="sQ9Gj2LAa3YzsV_l0nJq-27" vertex="1">
<mxGeometry x="10" y="20" width="110" height="90" as="geometry" />
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" source="sQ9Gj2LAa3YzsV_l0nJq-30" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-30" value="CompleteMultipartUpload Endpoint" style="swimlane;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="280" y="-80" width="240" height="100" as="geometry" />
</mxCell>
<mxCell id="sQ9Gj2LAa3YzsV_l0nJq-32" value="- Completes multipart upload obviously<div>- Saves PK, SK, fileName and fileSize</div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="sQ9Gj2LAa3YzsV_l0nJq-30" vertex="1">
<mxGeometry x="10" y="35" width="230" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>