-
Notifications
You must be signed in to change notification settings - Fork 0
/
column_row_data_flow_chart
48 lines (48 loc) · 2.25 KB
/
column_row_data_flow_chart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
digraph {
rankdir=TB size="10,7"
CPU [label=CPU color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
Flask [label="Flask Server" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
SocketIO [label="Socket.IO Server" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
AppLogic [label="Application Logic" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
ClientSocket [label="Client Socket" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
UI [label="User Interface" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
Browser [label="Web Browser" color=lightblue fontname=Helvetica fontsize=12 margin="0.2,0.1" shape=box style=filled]
{
rank=same
CPU
Flask
SocketIO
}
{
rank=same
AppLogic
ClientSocket
}
{
rank=same
UI
Browser
}
CPU -> Flask [label="Send Data
(HTTP/HTTPS)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
Flask -> AppLogic [label="Process Data
(Internal)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
AppLogic -> SocketIO [label="Emit Event
(HTTP/WebSocket Frame)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
SocketIO -> ClientSocket [label="Transmit Data
(WebSocket Frame)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
ClientSocket -> UI [label="Update UI
(JSON Frame)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
UI -> Browser [label="Render Data
(HTML/CSS/JS)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
Browser -> ClientSocket [label="Establish Connection
(WebSocket Handshake)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
ClientSocket -> SocketIO [label="Receive Events
(WebSocket Frame)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
SocketIO -> AppLogic [label="Acknowledge
(Internal)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
AppLogic -> Flask [label="Acknowledge
(Internal)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
Flask -> CPU [label="Send Response
(HTTP/HTTPS)" color=grey fontcolor=darkblue fontname=Helvetica fontsize=10]
}