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)
65 lines
1.8 KiB
Plaintext
65 lines
1.8 KiB
Plaintext
digraph MercadoPagoShunt {
|
|
rankdir=LR;
|
|
compound=true;
|
|
fontname="Helvetica";
|
|
node [fontname="Helvetica", fontsize=11, shape=box, style="rounded,filled"];
|
|
edge [fontname="Helvetica", fontsize=10];
|
|
|
|
labelloc="t";
|
|
label="MercadoPago Shunt - Mock Payment Flow";
|
|
fontsize=16;
|
|
|
|
// Client App
|
|
subgraph cluster_client {
|
|
label="Managed Room (e.g., AMAR)";
|
|
style=filled;
|
|
color="#E8F5E9";
|
|
fillcolor="#E8F5E9";
|
|
|
|
backend [label="Backend\n(Django/FastAPI)", fillcolor="#C8E6C9"];
|
|
}
|
|
|
|
// Shunt
|
|
subgraph cluster_shunt {
|
|
label="Shunt (artery/shunts/mercadopago)";
|
|
style=filled;
|
|
color="#FFF3E0";
|
|
fillcolor="#FFF3E0";
|
|
|
|
mock_api [label="Mock API\n/payments\n/preferences", fillcolor="#FFCC80"];
|
|
config_ui [label="Config UI\n(set responses)", fillcolor="#FFB74D"];
|
|
state [label="State\n(pending payments)", fillcolor="#FFA726"];
|
|
}
|
|
|
|
// Fake responses
|
|
subgraph cluster_responses {
|
|
label="Configurable Responses";
|
|
style=dashed;
|
|
color=gray;
|
|
|
|
approved [label="approved", fillcolor="#C8E6C9"];
|
|
pending [label="pending", fillcolor="#FFF9C4"];
|
|
rejected [label="rejected", fillcolor="#FFCDD2"];
|
|
}
|
|
|
|
// Real (bypassed)
|
|
subgraph cluster_real {
|
|
label="Real MercadoPago (bypassed)";
|
|
style=dashed;
|
|
color="#BDBDBD";
|
|
|
|
real_api [label="api.mercadopago.com", fillcolor="#E0E0E0", fontcolor="#9E9E9E"];
|
|
}
|
|
|
|
// Flow
|
|
backend -> mock_api [label="POST /payments"];
|
|
mock_api -> state [label="store"];
|
|
config_ui -> state [label="configure"];
|
|
|
|
state -> approved [style=dashed];
|
|
state -> pending [style=dashed];
|
|
state -> rejected [style=dashed];
|
|
|
|
mock_api -> backend [label="webhook callback", style=dashed];
|
|
}
|