Add architecture diagram

This commit is contained in:
Konstantin Wohlwend 2024-08-17 14:37:55 -07:00
parent aec2024fbe
commit bf1ee41238

View File

@ -144,6 +144,55 @@ If you make changes to the Prisma schema, you need to run the following command
pnpm run prisma migrate dev
```
### Architecture diagram
<details>
```mermaid
graph TB
User((User))
Admin((Admin))
subgraph “Stack Auth System”
Dashboard[Dashboard<br/>Next.js Application]
Backend[Backend Service<br/>Next.js API]
Database[(PostgreSQL Database)]
EmailService[Email Service<br/>Inbucket]
WebhookService[Webhook Service<br/>Svix]
subgraph “Shared Packages”
StackUI[Stack UI<br/>React Components]
StackShared[Stack Shared<br/>Utilities]
StackEmails[Stack Emails<br/>Email Templates]
end
end
ExternalOAuth[External OAuth Providers]
User --> Dashboard
Admin --> Dashboard
Dashboard --> Backend
Dashboard -.-> |“(To be removed)“| Database
Dashboard -.-> |“(To be removed)“| EmailService
Backend --> Database
Backend --> EmailService
Backend --> WebhookService
Backend --> ExternalOAuth
Dashboard --> StackUI
Dashboard --> StackShared
Dashboard --> StackEmails
Backend --> StackShared
Backend --> StackEmails
subgraph “External Services”
Svix[Svix]
WebhookService --> Svix
end
classDef container fill:#1168bd,stroke:#0b4884,color:#ffffff
classDef database fill:#2b78e4,stroke:#1a4d91,color:#ffffff
classDef external fill:#999999,stroke:#666666,color:#ffffff
classDef deprecated stroke-dasharray: 5 5
class Dashboard,Backend,EmailService,WebhookService container
class Database database
class ExternalOAuth,Svix external
```
Thanks to [CodeViz](https://www.codeviz.ai) for the diagram!
</details>
## ❤️ Contributors
Thanks to the amazing community who built Stack: