generated from NimaBoscarino/react-rails-boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathERD.drawio
259 lines (259 loc) · 32 KB
/
ERD.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
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
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<mxfile host="www.draw.io" modified="2019-11-30T03:32:56.093Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36" etag="NydHWkWE26125uEIKMzY" version="12.3.3" type="github" pages="1">
<diagram id="MhqscBjMdHreHNnrETDg" name="Page-1">
<mxGraphModel dx="1847" dy="1744" 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="bkFo6INZ_vl38a5Fbl8--2" value="users" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="-330" y="43" width="160" height="170" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--3" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--4" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--3" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--5" value="first_name" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--6" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--5" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--7" value="last_name" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="82" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--8" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--7" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--13" value="email" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="108" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--14" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--13" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--9" value="hashed_password" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="134" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--10" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--9" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--11" value="" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--2" vertex="1">
<mxGeometry y="160" width="160" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--12" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--11" vertex="1" connectable="0">
<mxGeometry width="30" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--15" value="plants" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="480" y="43" width="160" height="82" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--16" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--15" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--17" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--16" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--113" value="name" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--15" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--114" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--113" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--27" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="bkFo6INZ_vl38a5Fbl8--3" target="O46X3Vk8pybgdmjA7Gx_-9" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="210" y="120" as="sourcePoint"/>
<mxPoint x="110" y="350" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--53" value="sensor_types" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="-50" y="-245" width="160" height="82" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--54" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--53" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--55" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--54" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--56" value="type" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--53" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--57" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--56" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--75" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="bkFo6INZ_vl38a5Fbl8--54" target="bkFo6INZ_vl38a5Fbl8--90" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="90" y="20" as="sourcePoint"/>
<mxPoint x="450" y="150" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--87" value="sensors" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="179" y="-210" width="160" height="144" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--88" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--87" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--89" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--88" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--90" value="sensor_type_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--87" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--91" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--90" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-16" value="host" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--87" vertex="1">
<mxGeometry y="82" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-17" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-16" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-18" value="gpio" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--87" vertex="1">
<mxGeometry y="108" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-19" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-18" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--96" value="" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--87" vertex="1">
<mxGeometry y="134" width="160" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--97" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--96" vertex="1" connectable="0">
<mxGeometry width="30" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--99" value="group_plants_sensors" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="240" y="90" width="160" height="170" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--100" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--101" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--100" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--102" value="sensor_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--103" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--102" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--104" value="plant_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="82" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--105" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--104" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-12" value="group_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="108" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-13" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-12" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="O46X3Vk8pybgdmjA7Gx_-7" value="user_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="134" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="O46X3Vk8pybgdmjA7Gx_-8" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="O46X3Vk8pybgdmjA7Gx_-7" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--108" value="" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--99" vertex="1">
<mxGeometry y="160" width="160" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--109" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="bkFo6INZ_vl38a5Fbl8--108" vertex="1" connectable="0">
<mxGeometry width="30" height="10" as="geometry"/>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--111" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;" parent="1" source="bkFo6INZ_vl38a5Fbl8--88" target="bkFo6INZ_vl38a5Fbl8--102" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="540" y="360" as="sourcePoint"/>
<mxPoint x="640" y="260" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bkFo6INZ_vl38a5Fbl8--112" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;" parent="1" source="bkFo6INZ_vl38a5Fbl8--16" target="bkFo6INZ_vl38a5Fbl8--104" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="520" y="220" as="sourcePoint"/>
<mxPoint x="570" y="230" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-1" value="groups" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry width="160" height="108" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-2" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-1" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-3" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-2" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="O46X3Vk8pybgdmjA7Gx_-9" value="user_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-1" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="O46X3Vk8pybgdmjA7Gx_-10" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="O46X3Vk8pybgdmjA7Gx_-9" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-4" value="name" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-1" vertex="1">
<mxGeometry y="82" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-5" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="Fd1Yyd91e2m5ZtXEvojF-4" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="Fd1Yyd91e2m5ZtXEvojF-14" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;" parent="1" source="Fd1Yyd91e2m5ZtXEvojF-2" target="Fd1Yyd91e2m5ZtXEvojF-12" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="450" y="530" as="sourcePoint"/>
<mxPoint x="550" y="430" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-24" value="sensor_history" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="500" y="-370" width="160" height="196" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-25" value="id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=1;align=left;verticalAlign=middle;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontStyle=5;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-26" value="PK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-25" vertex="1" connectable="0">
<mxGeometry width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-39" value="sensor_id" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="56" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-40" value="FK" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-39" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-27" value="date/time" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="82" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-28" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-27" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-37" value="moisture?" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="108" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-38" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-37" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-7" value="latitude" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="134" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-8" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-7" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-11" value="longitude" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="160" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-12" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-11" vertex="1" connectable="0">
<mxGeometry width="30" height="26" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-33" value="" style="shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-24" vertex="1">
<mxGeometry y="186" width="160" height="10" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-34" value="" style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;fontSize=12;" parent="b3akrY6QmiMbRy60X3Mc-33" vertex="1" connectable="0">
<mxGeometry width="30" height="10" as="geometry"/>
</mxCell>
<mxCell id="b3akrY6QmiMbRy60X3Mc-44" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;" parent="1" source="bkFo6INZ_vl38a5Fbl8--88" target="b3akrY6QmiMbRy60X3Mc-39" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="420" y="-229" as="sourcePoint"/>
<mxPoint x="520" y="-329" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="O46X3Vk8pybgdmjA7Gx_-6" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmany;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="bkFo6INZ_vl38a5Fbl8--3" target="O46X3Vk8pybgdmjA7Gx_-7" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="-180" y="-37" as="sourcePoint"/>
<mxPoint x="-80" y="-137" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>