You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
barretthousen/doc/bh_design.drawio

178 lines
14 KiB

<mxfile host="app.diagrams.net" modified="2023-06-12T21:54:22.543Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0" etag="x7K_nP_hUPP84gUb8Ro3" version="21.1.7" type="device">
<diagram name="High level" id="BL8KaFisCtBiJRqkGTb9">
<mxGraphModel dx="2053" dy="1131" 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="JNN8aSlnDbWN0y9jmZyT-1" value="&lt;div&gt;Web Client&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="-320" y="70" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="JNN8aSlnDbWN0y9jmZyT-2" target="wSJkOsJQY9M_Z095WERL-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JNN8aSlnDbWN0y9jmZyT-2" value="&lt;div&gt;Users&lt;/div&gt;" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-840" y="110" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="JNN8aSlnDbWN0y9jmZyT-17" value="&lt;div&gt;catalog-db&lt;/div&gt;" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="80" y="57.5" width="80" height="105" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JNN8aSlnDbWN0y9jmZyT-19" target="wSJkOsJQY9M_Z095WERL-50">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JNN8aSlnDbWN0y9jmZyT-19" value="&lt;div&gt;Runner&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="-60" y="440" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="S1HCfoW5zDfGPMNCMrQO-32" target="wSJkOsJQY9M_Z095WERL-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="S1HCfoW5zDfGPMNCMrQO-32" value="Admin" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-830" y="400" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-4" target="JNN8aSlnDbWN0y9jmZyT-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-21" value="&lt;div&gt;Path: /&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-19">
<mxGeometry x="0.4522" y="-2" relative="1" as="geometry">
<mxPoint x="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-4" target="wSJkOsJQY9M_Z095WERL-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-22" value="Path: /api" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-20">
<mxGeometry x="0.3611" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-4" value="bh.com" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.direct_data;whiteSpace=wrap;align=center;" vertex="1" parent="1">
<mxGeometry x="-640.5" y="120" width="160" height="60" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-5" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.lock_unlocked" vertex="1" parent="1">
<mxGeometry x="-579" y="70" width="37" height="50" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-8" target="wSJkOsJQY9M_Z095WERL-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-25" value="&lt;div&gt;Path:/&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-23">
<mxGeometry x="0.43" y="-2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-8" target="wSJkOsJQY9M_Z095WERL-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-26" value="Path:/api" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-24">
<mxGeometry x="0.3263" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-8" value="&lt;div&gt;admin.bh.com&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.direct_data;whiteSpace=wrap;align=center;" vertex="1" parent="1">
<mxGeometry x="-630.5" y="410" width="160.5" height="60" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-9" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.lock" vertex="1" parent="1">
<mxGeometry x="-570" y="360" width="39" height="50" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-13" value="Admin Client" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-320" y="350" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-17" target="JNN8aSlnDbWN0y9jmZyT-19">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-31" value="&lt;div&gt;/v1/sync&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-30">
<mxGeometry x="0.2947" y="1" relative="1" as="geometry">
<mxPoint y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-17" target="wSJkOsJQY9M_Z095WERL-42">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-190" y="480" />
<mxPoint x="-190" y="290" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-47" value="&lt;div&gt;/v1/notify&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-46">
<mxGeometry x="-0.359" relative="1" as="geometry">
<mxPoint x="70" y="-111" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-17" value="&lt;div&gt;Proxy Admin&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-320" y="440" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-18" target="wSJkOsJQY9M_Z095WERL-27">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-190" y="200" />
<mxPoint x="-190" y="110" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-29" value="&lt;div&gt;/v1/upcoming&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-28">
<mxGeometry x="-0.2889" y="-2" relative="1" as="geometry">
<mxPoint x="58" y="-63" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-18" target="wSJkOsJQY9M_Z095WERL-42">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-190" y="200" />
<mxPoint x="-190" y="290" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-45" value="&lt;div&gt;/v1/register&lt;/div&gt;&lt;div&gt;/v1/verify&lt;/div&gt;&lt;div&gt;/v1/unsubscribe&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-43">
<mxGeometry x="0.3185" relative="1" as="geometry">
<mxPoint x="32" y="-30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-18" value="Proxy Web" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-320" y="160" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-27" target="JNN8aSlnDbWN0y9jmZyT-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-27" value="&lt;div&gt;Catalog&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-70" y="70" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-42" target="wSJkOsJQY9M_Z095WERL-49">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-42" value="&lt;div&gt;Ringman&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-60" y="250" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-49" value="ringman-db" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="80" y="237.5" width="80" height="105" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-50" value="runner-db" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="80" y="427.5" width="80" height="105" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-56" target="wSJkOsJQY9M_Z095WERL-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-58" value="curl /api/v1/sync" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wSJkOsJQY9M_Z095WERL-57">
<mxGeometry x="0.275" y="-2" relative="1" as="geometry">
<mxPoint x="58" y="41" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-56" value="&lt;div&gt;sync-cronjob&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-320" y="600" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="wSJkOsJQY9M_Z095WERL-59" target="wSJkOsJQY9M_Z095WERL-17">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-120" y="560" />
<mxPoint x="-280" y="560" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-59" value="&lt;div&gt;notify-cronjob&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="-160" y="600" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wSJkOsJQY9M_Z095WERL-60" value="curl /api/v1/notify" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="1">
<mxGeometry x="-70" y="580" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>