Files
soleprint/docs/veins/mercadopago-shunt.dot
buenosairesam 22356fed66
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
docs: add architecture and veins documentation
- 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)
2026-01-02 22:09:13 -03:00

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];
}