mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-14 09:08:32 +00:00
30 lines
1.3 KiB
Text
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
|