Skip to content

Commit 7f640c8

Browse files
committed
docs(architecture): add top level architecture diagram
1 parent 4d3fba5 commit 7f640c8

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

docs/architecture.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
# Architecture of Status Desktop
3+
4+
5+
## Top level architecture
6+
7+
This shows the flow from the UI all the way to the backend.
8+
9+
We do not use servers. [status-go](https://github.com/status-im/status-go) is what our app considers the backend and as such, it has it's own local databases to contain the user data.
10+
11+
```mermaid
12+
flowchart LR
13+
qml["Frontend (QML)"] --> statusq(["StatusQ"])
14+
qml --> dotherside{{"DOtherside"}}
15+
dotherside --> nimqml{{"NimQML"}}
16+
nimqml --> nim["Middleware (Nim)"]
17+
nim --> statusgo{{"Backend (status-go)"}}
18+
statusgo --> waku{{"Waku"}}
19+
statusgo --> providers[["Wallet providers"]]
20+
statusgo --> db[(Local Databases)]
21+
subgraph Legend
22+
direction LR
23+
box["Status Desktop code"]
24+
roundedbox(["In-repo Library"])
25+
hexagon{{"Out of repo libraries"}}
26+
barbox[["External providers"]]
27+
end
28+
click qml "https://github.com/status-im/status-desktop/tree/master/ui" "Link to the UI folder containing the QML code"
29+
click statusq "https://github.com/status-im/status-desktop/tree/master/ui/StatusQ" "Link to the StatusQ folder"
30+
click dotherside "https://github.com/status-im/dotherside" "Link to the DOtherSide repo"
31+
click nimqml "https://github.com/status-im/nimqml" "Link to the NimQML repo"
32+
click nim "https://github.com/status-im/status-desktop/tree/master/src" "Link to the Nim code"
33+
click statusgo "https://github.com/status-im/status-go" "Link to the Status-Go repo"
34+
click waku "https://github.com/waku-org" "Link to the Waku org"
35+
```
36+

0 commit comments

Comments
 (0)