-
Notifications
You must be signed in to change notification settings - Fork 1
/
architecture.dio
75 lines (75 loc) · 5.88 KB
/
architecture.dio
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
<mxfile host="65bd71144e">
<diagram id="Uci3JYiYRz0Tm3-K0xOa" name="Page-1">
<mxGraphModel dx="1369" dy="989" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="23" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="3" target="18">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="POST<br><br>login<br>1. Logs user in<br>2. Returns JWT token" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-50" y="281.25" width="120" height="150" as="geometry"/>
</mxCell>
<mxCell id="4" value="Frontend" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="130" y="50" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="5" value="POST<br><br>findMatch<br>1. Adds user to queue<br>2. When queue resolves, returns unique ID for both users to use to connect to collaborationService" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="290" y="280" width="140" height="150" as="geometry"/>
</mxCell>
<mxCell id="6" value="GET<br><br>getQuestion<br>1. Gets a random question based on difficulty" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="320" width="120" height="110" as="geometry"/>
</mxCell>
<mxCell id="7" value="POST<br><br>connectToPeer<br>1. Creates a new collaboration instance with a Yj document" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="650" y="272.5" width="120" height="165" as="geometry"/>
</mxCell>
<mxCell id="9" value="matchingService" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="290" y="490" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="11" value="" style="endArrow=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="5" target="9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="340" y="230" as="sourcePoint"/>
<mxPoint x="390" y="180" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="12" value="questionService" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="460" y="490" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="13" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="12" target="6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="380" as="sourcePoint"/>
<mxPoint x="430" y="330" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="14" value="collaborationService" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="730" y="490" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="14" target="7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="310" as="sourcePoint"/>
<mxPoint x="550" y="260" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="16" value="POST<br><br>disconnect<br>1. Destroys current connection" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="820" y="272.5" width="120" height="167.5" as="geometry"/>
</mxCell>
<mxCell id="17" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="800" y="490" as="sourcePoint"/>
<mxPoint x="550" y="260" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="21" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" target="19">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="490" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="18" value="userService" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="10" y="490" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="19" value="POST<br><br>register<br>1. Registers user<br>2. Returns JWT token" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="110" y="281.25" width="120" height="150" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>