@@ -12,26 +12,35 @@ Creo is architected as a full-stack Turborepo containing independent Node.js mic
1212
1313``` mermaid
1414graph TD
15- subgraph Frontend [Frontend Next.js React]
16- Client(Client Browser - Canvas API & React)
17- State(Local State Buffer - Zustand / Refs)
15+ %% Styling
16+ classDef frontend fill:#3b82f6,stroke:#1d4ed8,stroke-width:2px,color:#fff,padding:10px
17+ classDef backend fill:#10b981,stroke:#047857,stroke-width:2px,color:#fff,padding:10px
18+ classDef storage fill:#f59e0b,stroke:#b45309,stroke-width:2px,color:#fff,padding:10px
19+ classDef subGraphStyle fill:#1e1e1e,stroke:#333333,stroke-width:2px,color:#a3a3a3,stroke-dasharray: 5 5
20+
21+ subgraph Frontend [Frontend Next.js React]
22+ Client("Client Browser (Canvas API & React)"):::frontend
23+ State("Local State Buffer (Zustand / Refs)"):::frontend
1824 Client <-->|User Input / Renders| State
1925 end
2026
2127 subgraph Backend [Backend Infrastructure]
22- HTTP(HTTP API Server - Express)
23- WS(WebSocket Server - Node.js ws)
28+ HTTP(" HTTP API Server ( Express)"):::backend
29+ WS(" WebSocket Server ( Node.js ws)"):::backend
2430 end
2531
2632 subgraph Persistence [Persistence Layer]
27- DB[(PostgreSQL Database - Prisma / Drizzle)]
33+ DB[(" PostgreSQL Database ( Prisma / Drizzle)")]:::storage
2834 end
2935
36+ %% Apply subgraph styles
37+ class Frontend,Backend,Persistence subGraphStyle
38+
3039 %% Flow connections
3140 Client -->|REST: Auth / Fetch Rooms| HTTP
3241 HTTP -->|Read/Write| DB
3342
34- State <-->|Bi-directional Sync\n( JSON Payloads) | WS
43+ State <-->|Bi-directional Sync / JSON Payloads| WS
3544 WS -->|Persist Drawings/Chat| DB
3645```
3746
0 commit comments