admin-panel/diagrams/01-system-architecture.drawio

86 lines
6.0 KiB
Plaintext
Raw Normal View History

<mxfile host="65bd71144e">
<diagram id="system-architecture" name="System Architecture">
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1000" pageHeight="600" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Admin UI -->
<mxCell id="2" value="Admin UI&#xa;React + Vite&#xa;:5173" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="80" y="200" width="140" height="80" as="geometry"/>
</mxCell>
<!-- Admin API -->
<mxCell id="3" value="Admin API&#xa;Flask&#xa;:5001" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=13;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="300" y="200" width="140" height="80" as="geometry"/>
</mxCell>
<!-- Admin DB -->
<mxCell id="4" value="Admin DB&#xa;PostgreSQL&#xa;admin_hosting_db" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=12;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="520" y="120" width="140" height="80" as="geometry"/>
</mxCell>
<!-- Customer DB -->
<mxCell id="5" value="Customer DB&#xa;PostgreSQL&#xa;hosting&#xa;(Read-Only)" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=12;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="520" y="280" width="140" height="90" as="geometry"/>
</mxCell>
<!-- Customer API -->
<mxCell id="6" value="Customer API&#xa;api.argeict.net&#xa;:5000" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=12;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="300" y="400" width="140" height="70" as="geometry"/>
</mxCell>
<!-- Cloudflare API -->
<mxCell id="7" value="Cloudflare API&#xa;api.cloudflare.com" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=12;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="520" y="400" width="140" height="70" as="geometry"/>
</mxCell>
<!-- Arrow: Admin UI -> Admin API -->
<mxCell id="8" value="HTTPS" style="endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#6c8ebf;fontSize=11" edge="1" parent="1" source="2" target="3">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Arrow: Admin API -> Admin DB -->
<mxCell id="9" value="R/W" style="endArrow=classic;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryDz=0;strokeWidth=2;strokeColor=#82b366;fontSize=11" edge="1" parent="1" source="3" target="4">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Arrow: Admin API -> Customer DB -->
<mxCell id="10" value="Read Only" style="endArrow=classic;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryDz=0;strokeWidth=2;strokeColor=#d6b656;dashed=1;fontSize=11" edge="1" parent="1" source="3" target="5">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Arrow: Admin API -> Customer API -->
<mxCell id="11" value="Internal API" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#b85450;fontSize=11" edge="1" parent="1" source="3" target="6">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Arrow: Admin API -> Cloudflare API -->
<mxCell id="12" value="Validate" style="endArrow=classic;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#d79b00;fontSize=11" edge="1" parent="1" source="3" target="7">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Title -->
<mxCell id="13" value="Admin Panel - System Architecture" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="200" y="40" width="400" height="30" as="geometry"/>
</mxCell>
<!-- Legend -->
<mxCell id="14" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=10" vertex="1" parent="1">
<mxGeometry x="720" y="120" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="15" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=10" vertex="1" parent="1">
<mxGeometry x="720" y="160" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="16" value="Database" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=10" vertex="1" parent="1">
<mxGeometry x="720" y="200" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="17" value="External" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=10" vertex="1" parent="1">
<mxGeometry x="720" y="240" width="80" height="30" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>