Test QuickGV: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(214 intermediate revisions by the same user not shown)
Line 1: Line 1:
See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf
= Colored Edge =
<quickmmd name="colored-edge">
flowchart TD
  A1(["👩🏻‍💻 Human"])
  A2(["🤖 Agent"])
  B1("HTTP<br>(Fiber v3)")
  subgraph backend handlers 
    B2("API handler")
    B3("MCP HTTP")
    B4("Streamable Handler")
    B5("SSE handler")
    B6("MCP Server")
  end
  subgraph backend services
    C1(Mermaid to SVG)
    C2(Mermaid to PNG)
    C3(XML Formatter)
  end
  subgraph frontend
    B7("Nuxt.js")
  end
  subgraph resources
    D1(Mermaid Container<br>yuzutech/kroki-mermaid)
  end
  %% human path
  A1 --> B1
  B1 --> |the rest URI| B7
  linkStyle 0,1 stroke:#0000ff,stroke-width:2px
  %% agent path
  A2 --> B1
  B1 --> |/mcp or /sse| B3
  linkStyle 2,3 stroke:#00aa00,stroke-width:2px
  %% api path
  B7 --> |axios| B1
  B1 --> |/api| B2
  linkStyle 4,5 stroke:#9900cc,stroke-width:2px
  B3 --> |/mcp| B4
  B3 --> |/sse| B5
  B4 & B5 --> B6
  B6 --> C1 & C2 & C3
  B2 --> D1
  C1 & C2 --> D1
</quickmmd>
= Dish =
<quickmmd name="dish">
mindmap
  A[Dish]
    B1[Sauce Dish]
    B2[Shark's Fin Soup Dish]
    B3[Divided Dish]
    B4[Cassesrole Dish]
</quickmmd>
= MMD =
<quickmmd name="testmmd">
flowchart LR
    Root("規則動詞變化<br>(play)")
    Root --> Past("過去")
    Root --> Pres("現在")
    Root --> Fut("未來")
    Past --> P1("過去普通: played")
    Past --> P2("過去進行: was/were playing")
    Past --> P3("過去完成: had played")
    Past --> P4("過去被動: was/were played")
    Pres --> R1("現在普通: play / plays")
    Pres --> R2("現在進行: am/is/are playing")
    Pres --> R3("現在完成: have/has played")
    Pres --> R4("現在被動: am/is/are played")
    Fut --> F1("未來普通: will play")
    Fut --> F2("未來進行: will be playing")
    Fut --> F3("未來完成: will have played")
    Fut --> F4("未來被動: will be played")
</quickmmd>
= WebSocket Service =
<quickgv name="123" theme="warm" usage="ram">
subgraph cluster_client {
  label="WebSocket Client"
  c1[label="var ws = new WebSocket('/foo')"];
  c2[label="ws.onerror = function (ev) ..."];
  c3[label="ws.onopen = function (ev) ..."];
  c4[label="ws.onmessage = function (ev) ..."];
  c5[label="ws.send()"];
}
subgraph cluster_server {
  label="";
  s[label="Service Unit | <rh> Request Handler | <ph> Push Handler | <pw> Push Worker | <mh> Message Handler | <mw> Message Worker"];
  iq[label="Inbound Queue"];
  oq[label="Outbound Queue"];
}
c1 -> s:rh [color="#ff0000"];
c2 -> s:rh [color="#0000ff",dir="back"];
c3 -> s:rh [color="#0000ff",dir="back"];
c4 -> s:ph [color="#0000ff",dir="back"];
s:ph -> oq [color="#0000ff",dir="back"];
s:pw -> oq [color="#0000ff"];
c5 -> s:mh [color="#ff0000"];
s:mh -> iq [color="#ff0000"];
s:mw -> iq [color="#ff0000",dir="back"];
</quickgv>
= testflow =
<quickgv name="G51" theme="warm">
label="五環境佈署流程";
rankdir=TB;
A [label="Local\n開發新功能"];
B [label="Development\n測試模擬交易"];
C [label="Staging\n測試真實交易"];
D [label="Sandbox\n供分銷商測試"];
E [label="Production\n實際營運"];
A -> B;
B -> C;
B -> D;
C -> E;
</quickgv>
<quickgv name="G52" theme="warm">
label="三環境佈署流程";
rankdir=TB;
A [label="Local\n開發新功能"];
B [label="Sandbox\n升級新功能"];
C [label="Production\n升級新功能"];
A -> B -> C;
</quickgv>
test
= Crawling Flow =
= Crawling Flow =
<quickgv name="G4" theme="warm">
<quickgv name="G4" theme="warm">
A1 [label="Web Resource"];
rankdir=TB;
A2 [label="Cache"];
 
A1 [label="Website"];
A2 [label="Proxy Server"];
A3 [label="Daily Cache"];
A4 [label="Hash Cache"];


B [label="Requests Session"];
B [label="Requests Session"];
Line 10: Line 166:
D2 [label="json\n(JSON)"];
D2 [label="json\n(JSON)"];
D3 [label="Pandas\n(CSV)"];
D3 [label="Pandas\n(CSV)"];
D4 [label="Custom Datasource", fillcolor="#ffffff:#00c000"];
E1 [label="Handler", fillcolor="#ffffff:#00c000"];
E2 [label="Models", fillcolor="#ffffff:#00c000"];
F1 [label="SQLAlchemy"];
F2 [label="Console"];
F3 [label="GeoJSON"];
F4 [label="Elastic Search", fillcolor="#ffffff:#aaaaaa"];
G1 [label="SQLite"];
G2 [label="PostgreSQL", fillcolor="#ffffff:#aaaaaa"];
G3 [label="MySQL", fillcolor="#ffffff:#aaaaaa"];
G4 [label="MongoDB", fillcolor="#ffffff:#aaaaaa"];


E [label="Data Handler"];


A1 -> B -> C;
A1 -> A2;
A2 -> C;
{A1 A2} -> B;
C -> {D1 D2 D3} -> E;
{B A3 A4} -> C;
C -> {D1 D2 D3 D4} -> E1 -> {F1 F2 F3 F4};
E2 -> F1;
F1 -> {G1 G2 G3 G4};
</quickgv>
</quickgv>



Latest revision as of 10:42, 10 September 2026

See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf

Colored Edge

Dish

MMD

WebSocket Service

testflow

test

Crawling Flow

GDS

Geomancer

Sandbox