aboutsummaryrefslogtreecommitdiff
path: root/docs/architecture-tiers-and-layers.drawio
blob: f60cd70d33cc92be3433774a66ab722acf4605db (plain) (blame)
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0" version="26.0.14">
  <diagram name="Page-1" id="P8hgUCnVgUD2r0shnHkA">
    <mxGraphModel dx="1313" dy="673" 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="Ork7YycwdDH3GpRj4XOS-1" value="View" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1">
          <mxGeometry x="125" y="220" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-3" value="ViewModel" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1">
          <mxGeometry x="285" y="220" width="355" height="120" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-4" value="Model" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1">
          <mxGeometry x="680" y="220" width="240" height="120" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-5" value="Web Interface" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="135" y="270" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-6" value="User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="65" y="250" width="30" height="60" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-7" value="&lt;div&gt;REST API&lt;/div&gt;&lt;div&gt;(CupboardController)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="300" y="270" width="115" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-8" value="&lt;div&gt;Service&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="435" y="270" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-9" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" target="Ork7YycwdDH3GpRj4XOS-5" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="105" y="295" as="sourcePoint" />
            <mxPoint x="415" y="370" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-10" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" target="Ork7YycwdDH3GpRj4XOS-7" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="235" y="294.78" as="sourcePoint" />
            <mxPoint x="265" y="294.78" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-11" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="415" y="294.78" as="sourcePoint" />
            <mxPoint x="435" y="295" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-13" value="Model" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="690" y="270" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-14" value="Persistence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="810" y="270" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-15" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Ork7YycwdDH3GpRj4XOS-13" target="Ork7YycwdDH3GpRj4XOS-14" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="675" y="294.78" as="sourcePoint" />
            <mxPoint x="695" y="295" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-17" value="Storage" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="980" y="270" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-19" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="Ork7YycwdDH3GpRj4XOS-5" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="195" y="440" as="sourcePoint" />
            <mxPoint x="185" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-20" value="&lt;div&gt;Angular&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
          <mxGeometry x="305" y="100" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-21" value="Frameworks" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="235" y="125" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="357.19" y="320" as="sourcePoint" />
            <mxPoint x="357" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-26" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
          <mxGeometry x="530" y="120" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-27" value="Platform" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="460" y="125" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-32" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="1029.5700000000002" y="320" as="sourcePoint" />
            <mxPoint x="1030" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="474.76" y="320" as="sourcePoint" />
            <mxPoint x="474.57" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="739.76" y="320" as="sourcePoint" />
            <mxPoint x="739.5699999999999" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-35" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="859.76" y="320" as="sourcePoint" />
            <mxPoint x="859.5699999999999" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-36" value="Usage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="50" y="390" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-38" value="TBD" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
          <mxGeometry x="135" y="380" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-39" value="SpringBoot" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
          <mxGeometry x="307.5" y="380" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-41" value="REST API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
          <mxGeometry x="305" y="120" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-43" value="Java" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1">
          <mxGeometry x="305" y="140" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-44" value="TypeScript" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
          <mxGeometry x="305" y="160" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-45" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
          <mxGeometry x="740" y="120" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-46" value="OS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="670" y="125" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-48" value="Need" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1">
          <mxGeometry x="690" y="380" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-56" value="DAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1">
          <mxGeometry x="810" y="380" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-58" value="FileDAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1">
          <mxGeometry x="810" y="400" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-60" value="Controller" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
          <mxGeometry x="530" y="270" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-63" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="Ork7YycwdDH3GpRj4XOS-14" target="Ork7YycwdDH3GpRj4XOS-17" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="930" y="260" as="sourcePoint" />
            <mxPoint x="1010" y="295" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-18" value="&lt;div&gt;File&lt;/div&gt;&lt;div&gt;I/O&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="920" y="280" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-69" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="579.76" y="320" as="sourcePoint" />
            <mxPoint x="579.5699999999999" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-70" value="&lt;div&gt;Cupboard&lt;/div&gt;&lt;div&gt;Controller&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1">
          <mxGeometry x="530" y="380" width="100" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-74" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
          <mxGeometry x="135" y="480" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-76" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="184.47" y="420" as="sourcePoint" />
            <mxPoint x="184.47" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-77" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="356.19" y="420" as="sourcePoint" />
            <mxPoint x="356" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-78" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="1028.5700000000002" y="420" as="sourcePoint" />
            <mxPoint x="1029" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-79" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="474" y="440" as="sourcePoint" />
            <mxPoint x="473.57" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-80" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1" source="Ork7YycwdDH3GpRj4XOS-48">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="738.76" y="420" as="sourcePoint" />
            <mxPoint x="738.5699999999999" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-81" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="858.76" y="420" as="sourcePoint" />
            <mxPoint x="858.5699999999999" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-82" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1" source="Ork7YycwdDH3GpRj4XOS-70">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="578.76" y="420" as="sourcePoint" />
            <mxPoint x="578.5699999999999" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-83" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
          <mxGeometry x="307.5" y="480" width="602.5" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Ork7YycwdDH3GpRj4XOS-84" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
          <mxGeometry x="980" y="480" width="100" height="40" as="geometry" />
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-1" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-60" target="Ork7YycwdDH3GpRj4XOS-13">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="800" y="305" as="sourcePoint" />
            <mxPoint x="820" y="305" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-2" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-8" target="Ork7YycwdDH3GpRj4XOS-60">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="810" y="315" as="sourcePoint" />
            <mxPoint x="830" y="315" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-3" value="Cupboard.json" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
          <mxGeometry x="980" y="380" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-4" value="User.json" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
          <mxGeometry x="980" y="400" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-5" value="UserService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="425" y="380" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-6" value="CupboardService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="425" y="400" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="52uoB4Gf5a0lLT2oJs9e-7" value="AuthService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="425" y="420" width="100" height="20" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>