-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharchitecture.drawio
122 lines (122 loc) · 11.3 KB
/
architecture.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
<mxfile host="app.diagrams.net" modified="2023-06-16T15:26:54.170Z" 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="njx-9FVF9lBTL86Hj2Vs" version="21.4.0" type="github">
<diagram name="Page-1" id="dqt_fYkGginoOhiHcgfV">
<mxGraphModel dx="1219" dy="1142" 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="CbP5YbpC93A33hKROAdr-5" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.45;exitY=1.032;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-1" target="CbP5YbpC93A33hKROAdr-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-6" value="<font style="font-size: 14px;">2. Check duplicates</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-5" vertex="1" connectable="0">
<mxGeometry x="0.1857" y="1" relative="1" as="geometry">
<mxPoint x="30" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=14;" parent="1" source="CbP5YbpC93A33hKROAdr-1" target="CbP5YbpC93A33hKROAdr-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-11" value="<font style="font-size: 14px;">3. Non-duplicated URLs</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-9" vertex="1" connectable="0">
<mxGeometry x="0.2667" y="-3" relative="1" as="geometry">
<mxPoint x="25" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-25" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.917;entryY=0.8;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-1" target="CbP5YbpC93A33hKROAdr-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-26" value="<font style="font-size: 14px;">1. Retrieve relevant URLs</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-25" vertex="1" connectable="0">
<mxGeometry x="0.0977" y="2" relative="1" as="geometry">
<mxPoint y="8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-1" value="<font style="font-size: 14px;">Scraper</font>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="670" y="370" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-2" value="<font style="font-size: 14px;">NoSQL</font>" style="shape=datastore;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="430" y="550" width="90" height="90" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="CbP5YbpC93A33hKROAdr-7" target="CbP5YbpC93A33hKROAdr-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-20" value="<font style="font-size: 14px;">4. URLs</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-13" vertex="1" connectable="0">
<mxGeometry x="0.1857" y="-3" relative="1" as="geometry">
<mxPoint x="13" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-7" value="Queue" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.queue;" parent="1" vertex="1">
<mxGeometry x="390" y="385" width="90" height="90" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-22" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="CbP5YbpC93A33hKROAdr-12" target="CbP5YbpC93A33hKROAdr-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-23" value="<font style="font-size: 14px;">5. Download documents</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-22" vertex="1" connectable="0">
<mxGeometry x="0.1647" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.642;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-12" target="CbP5YbpC93A33hKROAdr-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-39" value="<font style="font-size: 14px;">7. Send penalties &amp; used parts (gRPC)</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-38" vertex="1" connectable="0">
<mxGeometry x="-0.0184" y="-1" relative="1" as="geometry">
<mxPoint x="21" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-12" value="<font style="font-size: 14px;">Downloader &amp; parser</font>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="130" y="370" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-21" value="<font style="font-size: 14px;">FIA.com</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="375" y="160" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.667;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-12" target="CbP5YbpC93A33hKROAdr-12" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="160" y="530" />
<mxPoint x="210" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-35" value="<font style="font-size: 14px;">6. Parse documents</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-34" vertex="1" connectable="0">
<mxGeometry x="-0.1003" y="-1" relative="1" as="geometry">
<mxPoint x="12" y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-40" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0.022;entryY=0.789;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-36" target="CbP5YbpC93A33hKROAdr-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-45" value="<font style="font-size: 14px;">9. PUT successfully-processed URLs<br></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-40" vertex="1" connectable="0">
<mxGeometry x="-0.1486" y="-1" relative="1" as="geometry">
<mxPoint x="21" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.017;entryY=0.551;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CbP5YbpC93A33hKROAdr-36" target="CbP5YbpC93A33hKROAdr-41" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-44" value="<font style="font-size: 14px;">8.&nbsp; PUT new penalties &amp; parts<br></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-43" vertex="1" connectable="0">
<mxGeometry x="-0.1172" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-36" value="<font style="font-size: 14px;">Backend</font>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="150" y="680" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-41" value="<font style="font-size: 14px;">Postgres-compatible DB</font>" style="shape=datastore;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="620" y="690" width="90" height="90" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="CbP5YbpC93A33hKROAdr-46" target="CbP5YbpC93A33hKROAdr-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-50" value="<font style="font-size: 14px;">"Gimme the status of the championship at race X" (graphQL)</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CbP5YbpC93A33hKROAdr-47" vertex="1" connectable="0">
<mxGeometry x="0.2784" y="-2" relative="1" as="geometry">
<mxPoint x="13" y="28" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-46" value="Actor" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
<mxGeometry x="195" y="970" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="CbP5YbpC93A33hKROAdr-52" value="<font style="font-size: 14px;">The user part is part of the read flow (to be moved to another diagram)</font>" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_rect" parent="1" vertex="1">
<mxGeometry x="280" y="940" width="120" height="90" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>