docs: add architecture and veins documentation
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- System overview, artery hierarchy, build flow, room config diagrams - Veins docs: Jira, Slack, Google OAuth - Shunts docs: MercadoPago mock - DOT source files with generated SVGs - HTML viewers with navigation and full-screen mode Solves: - Freelance work standardization - Missing infrastructure replication (shunts) - Reliable testing environment (BDD -> Gherkin -> Tests)
This commit is contained in:
61
docs/veins/google.dot
Normal file
61
docs/veins/google.dot
Normal file
@@ -0,0 +1,61 @@
|
||||
digraph GoogleVein {
|
||||
rankdir=LR;
|
||||
compound=true;
|
||||
fontname="Helvetica";
|
||||
node [fontname="Helvetica", fontsize=11, shape=box, style="rounded,filled"];
|
||||
edge [fontname="Helvetica", fontsize=10];
|
||||
|
||||
labelloc="t";
|
||||
label="Google Vein - OAuth Flow";
|
||||
fontsize=16;
|
||||
|
||||
// Client
|
||||
subgraph cluster_client {
|
||||
label="Soleprint";
|
||||
style=filled;
|
||||
color="#E8F5E9";
|
||||
fillcolor="#E8F5E9";
|
||||
|
||||
app [label="Application", fillcolor="#C8E6C9"];
|
||||
vein [label="Google Vein\n(artery/veins/google)", fillcolor="#A5D6A7"];
|
||||
oauth [label="OAuth Handler\n(artery/oauth.py)", fillcolor="#81C784"];
|
||||
}
|
||||
|
||||
// OAuth Flow
|
||||
subgraph cluster_oauth {
|
||||
label="OAuth 2.0";
|
||||
style=filled;
|
||||
color="#FFF8E1";
|
||||
fillcolor="#FFF8E1";
|
||||
|
||||
auth_url [label="1. Authorization URL", fillcolor="#FFECB3"];
|
||||
consent [label="2. User Consent", fillcolor="#FFE082"];
|
||||
callback [label="3. Callback + Code", fillcolor="#FFD54F"];
|
||||
tokens [label="4. Access + Refresh\nTokens", fillcolor="#FFCA28"];
|
||||
}
|
||||
|
||||
// Google APIs
|
||||
subgraph cluster_google {
|
||||
label="Google APIs";
|
||||
style=filled;
|
||||
color="#E3F2FD";
|
||||
fillcolor="#E3F2FD";
|
||||
|
||||
sheets [label="Sheets API", fillcolor="#BBDEFB"];
|
||||
calendar [label="Calendar API", fillcolor="#BBDEFB"];
|
||||
drive [label="Drive API", fillcolor="#BBDEFB"];
|
||||
}
|
||||
|
||||
// Flow
|
||||
app -> vein [label="get_sheets()"];
|
||||
vein -> oauth [label="ensure_auth"];
|
||||
oauth -> auth_url;
|
||||
auth_url -> consent;
|
||||
consent -> callback;
|
||||
callback -> tokens;
|
||||
tokens -> oauth [label="store"];
|
||||
|
||||
oauth -> sheets [label="Bearer token"];
|
||||
oauth -> calendar [label="Bearer token"];
|
||||
oauth -> drive [label="Bearer token"];
|
||||
}
|
||||
Reference in New Issue
Block a user