1
0
Fork 0
mirror of synced 2024-06-03 19:34:54 +12:00

Updated specs

This commit is contained in:
Eldad Fux 2020-07-11 13:25:28 +03:00
parent eafa84646a
commit e2325407e8
4 changed files with 608 additions and 26 deletions

View file

@ -0,0 +1,166 @@
<mxfile host="e2dfc5ac-b4bd-41ee-ba1c-7162ae865e36" modified="2020-07-11T06:54:45.304Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="WuUhWs_xO6L6RV5oxnKr" version="13.1.3">
<diagram id="yGhE-bxLbvAmmQa4B8sF" name="Page-1">
<mxGraphModel dx="898" dy="564" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1200" background="none" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-1" target="7Wyw-BhCzhfnSJz2-0qM-21" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-1" value="Console" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="400" y="320" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-28" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-19" target="7Wyw-BhCzhfnSJz2-0qM-27" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-19" value="Domain Verification" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="320" y="520" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-30" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-27" target="7Wyw-BhCzhfnSJz2-0qM-29" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-27" target="7Wyw-BhCzhfnSJz2-0qM-2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="800" y="620"/>
<mxPoint x="800" y="160"/>
<mxPoint x="1000" y="160"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-27" value="DNS Validation" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="320" y="600" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-31" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-33" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-34" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-35" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-36" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-51" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-29" target="7Wyw-BhCzhfnSJz2-0qM-50" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-29" value="SSL Generator&lt;br&gt;&lt;font style=&quot;font-size: 10px&quot;&gt;(100 hosts per cert)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="320" y="680" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-50" value="Renewals in 60 days" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="160" y="680" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-31" target="7Wyw-BhCzhfnSJz2-0qM-10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-31" value="Cert 1" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="260" y="760" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-12" target="7Wyw-BhCzhfnSJz2-0qM-1" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-12" target="7Wyw-BhCzhfnSJz2-0qM-9" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-12" value="appwrite.io" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="520" y="200" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-2" target="7Wyw-BhCzhfnSJz2-0qM-4" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-2" target="7Wyw-BhCzhfnSJz2-0qM-6" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-2" value="DNS Server" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="940" y="200" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-4" value="CNAME Record" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="840" y="320" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-6" value="TXT Record" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="1040" y="320" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-9" target="7Wyw-BhCzhfnSJz2-0qM-10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-9" value="Loadbalancer" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="640" y="320" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-10" value="SSL Certificates" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="640" y="440" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-16" target="7Wyw-BhCzhfnSJz2-0qM-12" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="160"/>
<mxPoint x="580" y="160"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-18" value="&amp;nbsp; &amp;nbsp; appwrite.demoapp.com/v1&amp;nbsp; &amp;nbsp;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;labelBorderColor=none;fontColor=#;" parent="7Wyw-BhCzhfnSJz2-0qM-17" vertex="1" connectable="0">
<mxGeometry x="-0.0182" y="3" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-16" value="demoapp.com" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="160" y="200" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-24" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-21" target="7Wyw-BhCzhfnSJz2-0qM-23" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-21" value="Platforms" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="480" y="440" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontColor=#333333;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-55" target="7Wyw-BhCzhfnSJz2-0qM-1" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontColor=#333333;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-55" target="7Wyw-BhCzhfnSJz2-0qM-19" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-55" value="Custom Domains" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="320" y="440" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-23" target="7Wyw-BhCzhfnSJz2-0qM-19" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-23" value="Web" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="480" y="520" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-33" target="7Wyw-BhCzhfnSJz2-0qM-10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-33" value="Cert 2" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="310" y="760" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-34" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="700" y="480" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-34" value="Cert 3" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="360" y="760" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-35" target="7Wyw-BhCzhfnSJz2-0qM-10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-35" value="Cert 4" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="410" y="760" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-36" target="7Wyw-BhCzhfnSJz2-0qM-10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-36" value="Cert 5" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="460" y="760" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-54" value="&lt;h1&gt;Custom Domains&lt;/h1&gt;&lt;p&gt;Specification for adding, validating and generating custom domains&lt;br&gt;and SSL certificates for the Appwrite API.&lt;/p&gt;" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="30" width="370" height="90" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View file

@ -1,6 +1,6 @@
<mxfile host="71ea5d84-0b5b-468b-a357-e1e65d5eb9e8" modified="2020-07-11T06:49:33.368Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="N8N1CK2nbFCAV6a94z-G" version="13.1.3">
<mxfile host="71ea5d84-0b5b-468b-a357-e1e65d5eb9e8" modified="2020-07-11T06:55:23.364Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="76Tq4XGwpsCeO3oXa8Ri" version="13.1.3">
<diagram id="yGhE-bxLbvAmmQa4B8sF" name="Page-1">
<mxGraphModel dx="1283" dy="806" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1200" background="none" math="0" shadow="0">
<mxGraphModel dx="359" dy="226" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1200" background="none" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
@ -77,7 +77,7 @@
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-16" value="demoapp.com" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="200" y="200" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-54" value="&lt;h1&gt;Cloud Functions Support&lt;/h1&gt;&lt;p&gt;Specification for adding, executing and managing custom, user supplied cloud functions.&lt;br&gt;&lt;/p&gt;" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxCell id="7Wyw-BhCzhfnSJz2-0qM-54" value="&lt;h1&gt;Cloud Functions&lt;/h1&gt;&lt;p&gt;Specification for adding, executing and managing custom, user supplied cloud functions.&lt;br&gt;&lt;/p&gt;" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="40" y="30" width="370" height="90" as="geometry"/>
</mxCell>
<mxCell id="C25799qmdiSaeSuCInEC-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="C25799qmdiSaeSuCInEC-6" target="C25799qmdiSaeSuCInEC-14" edge="1">

413
docs/specs/overview.drawio Normal file
View file

@ -0,0 +1,413 @@
<mxfile host="16dbb236-addc-4d30-b4df-cf7b59bf496a" modified="2020-07-11T10:24:45.522Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="eRTFjbwFRdtrlnqDeAvG" version="13.1.3">
<diagram id="WOshqXSVd2VkRfcggtcB" name="Page-1">
<mxGraphModel dx="619" dy="564" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1200" background="none" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#bac8d3;strokeColor=#23445d;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="450" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-1" value="Web" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#23445d;fillColor=#bac8d3;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="70" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#bac8d3;strokeColor=#23445d;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="450" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-2" value="Flutter" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#23445d;fillColor=#bac8d3;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="230" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#bac8d3;strokeColor=#23445d;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-4" target="Jx5Eu6wszfQGuAAQCBBH-7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-4" value="iOS" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#23445d;fillColor=#bac8d3;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="390" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#bac8d3;strokeColor=#23445d;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-5" target="Jx5Eu6wszfQGuAAQCBBH-7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-5" value="Android" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#23445d;fillColor=#bac8d3;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="550" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#bac8d3;strokeColor=#23445d;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-6" target="Jx5Eu6wszfQGuAAQCBBH-7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-6" value="Servers" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#23445d;fillColor=#bac8d3;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="710" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-14" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-7" target="Jx5Eu6wszfQGuAAQCBBH-13" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-7" value="Appwrite" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="390" y="160" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-13" target="Jx5Eu6wszfQGuAAQCBBH-15" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b1ddf0;strokeColor=#10739e;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-13" target="Jx5Eu6wszfQGuAAQCBBH-17" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b1ddf0;strokeColor=#10739e;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-13" target="Jx5Eu6wszfQGuAAQCBBH-48" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-13" value="Loadbalancer" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#6c8ebf;fillColor=#dae8fc;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="390" y="240" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-48" target="Jx5Eu6wszfQGuAAQCBBH-17" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="150" y="420"/>
<mxPoint x="650" y="420"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-48" value="Console" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="90" y="350" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-19" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="290"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-21" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="340"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-25" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="440"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-28" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="490"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-30" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="540"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-32" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="590"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-34" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="640"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-95" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#d0cee2;strokeColor=#56517e;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-91" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#d0cee2;strokeColor=#56517e;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-92" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-130" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-60" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-17" target="Jx5Eu6wszfQGuAAQCBBH-23" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="950" y="370"/>
<mxPoint x="950" y="390"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-17" value="APIs" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="590" y="350" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-40" value="Pub/Sub (Redis)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#b85450;fillColor=#f8cecc;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="660" y="540" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-39" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-36" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#82b366;fillColor=#d5e8d4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-36" target="Jx5Eu6wszfQGuAAQCBBH-60" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-36" value="Cache (Redis)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#b85450;fillColor=#f8cecc;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="520" y="540" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-38" value="Database (MariaDB)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#d6b656;fillColor=#fff2cc;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="520" y="610" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-19" value="Users" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="270" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-21" value="Account" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="320" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-23" value="Teams" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="370" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-25" value="Database" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="420" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-28" value="Storage" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="470" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-30" value="Localization" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="520" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-32" value="Avatars" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="570" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-34" value="Health" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1020" y="620" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-15" value="SSL Gateway" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="560" y="240" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-62" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="490" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-62" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="490" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-62" value="Deletes" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="450" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-128" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeColor=#82b366;fillColor=#d5e8d4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-60" target="Jx5Eu6wszfQGuAAQCBBH-36" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeColor=#82b366;fillColor=#d5e8d4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-60" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-60" value="Security Layer" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#82b366;fillColor=#d5e8d4;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="490" y="450" width="320" height="20" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#e1d5e7;strokeColor=#9673a6;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-64" target="Jx5Eu6wszfQGuAAQCBBH-91" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="780"/>
<mxPoint x="340" y="780"/>
<mxPoint x="340" y="620"/>
<mxPoint x="400" y="620"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-94" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-64" target="Jx5Eu6wszfQGuAAQCBBH-92" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-64" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="720" y="580" as="targetPoint"/>
<Array as="points">
<mxPoint x="400" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-64" value="Usage" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="360" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-65" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="250" y="610" as="targetPoint"/>
<Array as="points">
<mxPoint x="580" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-65" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-65" value="Audits" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="540" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-82" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-66" target="Jx5Eu6wszfQGuAAQCBBH-81" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-66" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="670" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-66" value="Mails" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="630" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-81" value="SMTP" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="630" y="780" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-67" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="760" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-118" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#D4D4D4;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-67" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="760" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-67" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="760" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-67" value="Tasks" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="720" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-68" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="850" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-119" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-68" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="850" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-68" value="Webhooks" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="810" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-99" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-69" target="Jx5Eu6wszfQGuAAQCBBH-98" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-69" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="940" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-125" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-69" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="940" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-69" value="Functions" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="900" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-98" value="Docker" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="900" y="780" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-91" value="StatsD (Telegraf)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#9673a6;fillColor=#e1d5e7;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="340" y="540" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-92" value="TimeSeries (InfluxDB)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#9673a6;fillColor=#e1d5e7;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="200" y="540" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-103" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-100" target="Jx5Eu6wszfQGuAAQCBBH-102" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-100" target="Jx5Eu6wszfQGuAAQCBBH-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1030" y="860"/>
<mxPoint x="350" y="860"/>
<mxPoint x="350" y="630"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-126" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-100" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1030" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-100" value="Certs" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="990" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-117" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0e8088;fillColor=#b0e3e6;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-115" target="Jx5Eu6wszfQGuAAQCBBH-40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1120" y="680"/>
<mxPoint x="720" y="680"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-115" value="Scheduler" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#0e8088;fillColor=#b0e3e6;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="1080" y="720" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="Jx5Eu6wszfQGuAAQCBBH-102" target="Jx5Eu6wszfQGuAAQCBBH-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="470" y="320" as="targetPoint"/>
<Array as="points">
<mxPoint x="1030" y="870"/>
<mxPoint x="60" y="870"/>
<mxPoint x="60" y="260"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-102" value="Letsencrypt" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="990" y="780" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="Jx5Eu6wszfQGuAAQCBBH-112" value="AntiVirus (ClamAV)" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;fontColor=#000000;labelBorderColor=none;" parent="1" vertex="1">
<mxGeometry x="800" y="540" width="120" height="40" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View file

@ -1,6 +1,6 @@
<mxfile host="0ab6731b-7e21-4874-aea9-a212ba53f2d9" modified="2020-07-11T04:28:07.527Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="Bgluh9-DHXOP11yQCd5_" version="13.1.3">
<mxfile host="0ab6731b-7e21-4874-aea9-a212ba53f2d9" modified="2020-07-11T09:58:18.810Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="mGa9b8dudt6u5WkaSKp2" version="13.1.3">
<diagram id="6hGFLwfOUW9BJ-s0fimq" name="Page-1">
<mxGraphModel dx="619" dy="358" 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">
<mxGraphModel dx="427" dy="389" 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"/>
@ -11,25 +11,25 @@
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="2" value="Appwrite API" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="80" width="120" height="40" as="geometry"/>
<mxGeometry x="360" y="180" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="43" value="Send all events" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="80" width="120" height="40" as="geometry"/>
<mxGeometry x="520" y="180" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3" target="5">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="Messaging Worker" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="160" width="120" height="40" as="geometry"/>
<mxGeometry x="360" y="260" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="5" target="14">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="5" value="Redis - Message Log" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="240" width="120" height="40" as="geometry"/>
<mxGeometry x="360" y="340" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="14" value="Expire Every x seconds" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="240" width="120" height="40" as="geometry"/>
<mxGeometry x="520" y="340" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="7" target="5">
<mxGeometry relative="1" as="geometry"/>
@ -38,33 +38,33 @@
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="7" value="Websocket 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="400" width="120" height="40" as="geometry"/>
<mxGeometry x="200" y="500" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="24" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="21" target="23">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="21" value="Connections" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="460" width="120" height="20" as="geometry"/>
<mxGeometry x="200" y="560" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="26" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="23" target="25">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="23" value="Events" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="500" width="120" height="20" as="geometry"/>
<mxGeometry x="200" y="600" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="25" value="Authorization" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="540" width="120" height="20" as="geometry"/>
<mxGeometry x="200" y="640" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="9">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="280" as="targetPoint"/>
<mxPoint x="420" y="380" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;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="9" target="29">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="9" value="Websocket 2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="400" width="120" height="40" as="geometry"/>
<mxGeometry x="360" y="500" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="10" target="5">
<mxGeometry relative="1" as="geometry"/>
@ -73,34 +73,34 @@
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="10" value="Websocket 3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="400" width="120" height="40" as="geometry"/>
<mxGeometry x="520" y="500" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="19" value="Pull" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="395" y="320" width="50" height="50" as="geometry"/>
<mxGeometry x="395" y="420" width="50" height="50" as="geometry"/>
</mxCell>
<mxCell id="29" value="Connections" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="460" width="120" height="20" as="geometry"/>
<mxGeometry x="360" y="560" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="30" value="Events" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="500" width="120" height="20" as="geometry"/>
<mxGeometry x="360" y="600" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="31" value="Authorization" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="540" width="120" height="20" as="geometry"/>
<mxGeometry x="360" y="640" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="32" value="Connections" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="460" width="120" height="20" as="geometry"/>
<mxGeometry x="520" y="560" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="33" value="Events" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="500" width="120" height="20" as="geometry"/>
<mxGeometry x="520" y="600" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="34" value="Authorization" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="540" width="120" height="20" as="geometry"/>
<mxGeometry x="520" y="640" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="39" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="37" target="38">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="37" value="Clients" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="710" width="440" height="40" as="geometry"/>
<mxGeometry x="200" y="810" width="440" height="40" as="geometry"/>
</mxCell>
<mxCell id="40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="38" target="31">
<mxGeometry relative="1" as="geometry"/>
@ -112,7 +112,10 @@
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="38" value="LoadBalancer" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="640" width="120" height="40" as="geometry"/>
<mxGeometry x="360" y="740" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="45" value="&lt;h1&gt;&lt;span&gt;Real Time&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12px ; font-weight: normal&quot;&gt;Specification for adding, a sclabale, realtime stream to trasmit Appwrite system and user generated events to any platform.&lt;/span&gt;&lt;br&gt;&lt;/h1&gt;" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;labelBackgroundColor=none;" vertex="1" parent="1">
<mxGeometry x="40" y="30" width="370" height="90" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>