Skip to content

Commit ccf8827

Browse files
docs: add mermaid architecture diagram
1 parent 842737f commit ccf8827

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

docs/ARCHITECTURE.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Architecutre
2+
3+
```mermaid
4+
flowchart LR
5+
user((user))
6+
7+
8+
stdout
9+
stdin
10+
stderr
11+
12+
subgraph cli["cli"]
13+
end
14+
15+
subgraph tui["TUI"]
16+
commands_queue["Commands Queue"]
17+
tui_state[("State")]
18+
19+
subgraph input["Input Processing (Daemon Thread)"]
20+
commands_map["Commands Map"]
21+
end
22+
23+
subgraph runner["Runner (Event Loop)"]
24+
end
25+
26+
subgraph renderer["Renderer"]
27+
end
28+
end
29+
30+
subgraph exercise_iterator["Exercise Iterator"]
31+
end
32+
33+
subgraph exercise_runner["Exercise Runner"]
34+
end
35+
36+
subgraph watcher["File Watcher (Daemon Thread)"]
37+
end
38+
39+
subgraph filesystem["Filesystem"]
40+
end
41+
42+
%%connections%%
43+
stdout --> user
44+
user --> stdin --> input
45+
stderr --> user
46+
47+
cli --> stdout
48+
stdin --> cli
49+
cli --> stderr
50+
cli --starts--> runner
51+
52+
runner --> renderer --> stderr
53+
runner --> renderer --> stdout
54+
commands_map --push--> commands_queue
55+
56+
filesystem --polls--> watcher --refresh--> commands_queue
57+
58+
tui_state --> watcher
59+
tui_state --> runner
60+
tui_state <--> exercise_iterator
61+
tui_state <--> exercise_runner
62+
```

0 commit comments

Comments
 (0)