1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-14 09:08:32 +00:00
bramw_baserow/docs/assets/diagrams/server-architecture.puml

30 lines
1.3 KiB
Text

@startuml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
' Visit http://www.plantuml.com/ and paste in this document to edit and re-render.
Person(customer, "Customer")
Boundary(boundary0, "backend") {
Container(api, "API", "python/Django", "")
Container(worker, "Celery worker", "python", "worker should run as a daemon")
}
Boundary(boundary1, "web frontend") {
Container(webfrontend, "web", "Vue.js/Nuxt.js", "output the server side rendered initial DOM provided by Nuxt")
}
Boundary(boundary2, "backend dependencies") {
Container(db, "database", "PostgreSQL", "persistent storage")
Container(redis, "Redis", "", "asynchronous tasks and the real time collaboration")
Container(smtp_server, "SMTP Email Server", "", "Sends emails using SMTP to users")
}
Rel(customer, webfrontend, "visits Baserow using browser", "https")
Rel(webfrontend, api, "calls api for initial render", "https")
Rel(customer, api, "calls api directly after page load", "https")
Rel(api, db, "write/read data", "tcp")
Rel(api, redis, "write/read data", "tcp")
Rel(worker, redis, "execute asynchronous tasks", "tcp")
Rel(worker, smtp_server, "send email", "smtp")
BiRel(customer, api, "real time collaboration", "WebSocket")
@enduml