Skip to content

Commit 299299c

Browse files
committed
Docs: add initial diagram
1 parent bfee2b3 commit 299299c

2 files changed

Lines changed: 103 additions & 0 deletions

File tree

docs/ca-fe-reactive-framework-NextJs-FE-BE.svg

Lines changed: 3 additions & 0 deletions
Loading

docs/mermaid.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Frontend and Backend Clean Reactive Architecture
2+
3+
The frontend uses Clean Reactive Architecture and reaches the backend through
4+
its gateway. The backend follows the conventional Clean Architecture
5+
controller/use-case/presenter arrangement.
6+
7+
![Frontend and Backend Clean Reactive Architecture](ca-fe-reactive-framework-NextJs-FE-BE.svg)
8+
9+
<details>
10+
<summary>mermaid</summary>
11+
12+
```mermaid
13+
graph TD
14+
15+
subgraph FE["Frontend"]
16+
subgraph FB1["Boundary"]
17+
FUI["User Interface"]
18+
end
19+
20+
FPI["Presenter &lt; I &gt;"]
21+
FCI["Controller &lt; I &gt;"]
22+
23+
FP["Presenter"]
24+
FC["Controller"]
25+
FUC["Use Case Interactor"]
26+
27+
subgraph FB3["Boundary"]
28+
FE1["Entities"]
29+
end
30+
31+
FGI["Gateway &lt; I &gt;"]
32+
end
33+
34+
subgraph FBI["Frontend–Backend Integration"]
35+
subgraph FB4["Boundary"]
36+
FG["Gateway"]
37+
end
38+
end
39+
40+
subgraph BE["Backend"]
41+
subgraph BB1["Boundary"]
42+
BC["Controller"]
43+
BP["Presenter"]
44+
BVM["View Model &lt; DS &gt;"]
45+
end
46+
47+
BID["Input Data &lt; DS &gt;"]
48+
BIB["Input Boundary &lt; I &gt;"]
49+
BOD["Output Data &lt; DS &gt;"]
50+
BOB["Output Boundary &lt; I &gt;"]
51+
BUC["Use Case Interactor"]
52+
53+
subgraph BB2["Boundary"]
54+
BDAI["Data Access Interface &lt; I &gt;"]
55+
BDA["Data Access"]
56+
BDB["Database"]
57+
end
58+
59+
subgraph BB3["Boundary"]
60+
BE1["Entities"]
61+
end
62+
end
63+
64+
%% implementation relations
65+
FP -. implements .-> FPI
66+
FC -. implements .-> FCI
67+
FG -. implements .-> FGI
68+
BP -. implements .-> BOB
69+
BUC -. implements .-> BIB
70+
BDA -. implements .-> BDAI
71+
72+
%% frontend dependency relations
73+
FUI -- depends --> FPI
74+
FUI -- depends --> FCI
75+
FC -- depends --> FUC
76+
FP -- depends --> FE1
77+
FUC -- depends --> FE1
78+
FUC -- depends --> FGI
79+
80+
%% frontend-to-backend dependency relation
81+
FG -- depends --> BC
82+
83+
%% backend dependency relations
84+
BC -- depends --> BIB
85+
BC -- depends --> BID
86+
BP -- depends --> BVM
87+
BP -- depends --> BOD
88+
BUC -- depends --> BID
89+
BUC -- depends --> BOB
90+
BUC -- depends --> BOD
91+
BUC -- depends --> BDAI
92+
BUC -- depends --> BE1
93+
BDAI -- depends --> BE1
94+
BDA -- depends --> BDB
95+
96+
classDef boundary fill:none,stroke:#666,stroke-width:2px,stroke-dasharray: 5 5;
97+
class FB1,FB2,FB3,FB4,BB1,BB2,BB3 boundary;
98+
```
99+
100+
</details>

0 commit comments

Comments
 (0)