77 lines
2.4 KiB
Plaintext
77 lines
2.4 KiB
Plaintext
digraph SystemOverview {
|
|
// Graph settings
|
|
rankdir=TB;
|
|
compound=true;
|
|
fontname="Helvetica";
|
|
node [fontname="Helvetica", fontsize=11];
|
|
edge [fontname="Helvetica", fontsize=10];
|
|
|
|
// Title
|
|
labelloc="t";
|
|
label="Deskmeter - System Architecture";
|
|
fontsize=16;
|
|
|
|
// Styling
|
|
node [shape=box, style="rounded,filled"];
|
|
|
|
// Local Machine
|
|
subgraph cluster_local {
|
|
label="Local Machine (Bare Metal)";
|
|
style=filled;
|
|
color="#E8F5E9";
|
|
fillcolor="#E8F5E9";
|
|
|
|
dmcore [label="dmcore\n(Workspace Tracker)", fillcolor="#C8E6C9"];
|
|
dmweb_local [label="dmweb\n(Dev Server)", fillcolor="#C8E6C9"];
|
|
dmsync [label="dmsync\n(Change Streams)", fillcolor="#DCEDC8"];
|
|
mongo_local [label="MongoDB\n(Replica Set)", fillcolor="#FFECB3", shape=cylinder];
|
|
}
|
|
|
|
// OS Integration
|
|
subgraph cluster_os {
|
|
label="OS Integration";
|
|
style=dashed;
|
|
color=gray;
|
|
|
|
wmctrl [label="wmctrl\n(X11 Workspaces)", fillcolor="#E3F2FD"];
|
|
gnome_ext [label="GNOME Extension\n(Panel Indicator)", fillcolor="#E3F2FD"];
|
|
}
|
|
|
|
// Remote (AWS)
|
|
subgraph cluster_remote {
|
|
label="AWS EC2 (mcrn.ar)";
|
|
style=filled;
|
|
color="#FFF3E0";
|
|
fillcolor="#FFF3E0";
|
|
|
|
subgraph cluster_docker {
|
|
label="Docker Compose";
|
|
style=dashed;
|
|
color="#F57C00";
|
|
|
|
dmweb_remote [label="dmweb\n(Flask + Gunicorn)", fillcolor="#FFE0B2"];
|
|
mongo_remote [label="MongoDB\n(Docker)", fillcolor="#FFECB3", shape=cylinder];
|
|
}
|
|
|
|
nginx [label="Nginx\n(Gateway)", fillcolor="#BBDEFB"];
|
|
}
|
|
|
|
// External
|
|
browser [label="Browser\n(Portfolio Viewer)", fillcolor="#F3E5F5"];
|
|
|
|
// Local connections
|
|
wmctrl -> dmcore [label="workspace\ndetection", color="#388E3C"];
|
|
dmcore -> mongo_local [label="write\nswitches", color="#FFA000"];
|
|
dmweb_local -> mongo_local [label="read", style=dashed, color="#666"];
|
|
gnome_ext -> dmweb_local [label="API poll", color="#1976D2", style=dashed];
|
|
|
|
// Sync connection
|
|
mongo_local -> dmsync [label="Change\nStreams", color="#7B1FA2"];
|
|
dmsync -> mongo_remote [label="push\nchanges", color="#7B1FA2", style=bold];
|
|
|
|
// Remote connections
|
|
dmweb_remote -> mongo_remote [label="read", style=dashed, color="#666"];
|
|
nginx -> dmweb_remote [label="proxy", color="#1976D2"];
|
|
browser -> nginx [label="HTTPS", color="#1976D2"];
|
|
}
|