Architecture
user: "User" { shape: person style.fill: saddlebrown}
spa: "Brezel SPA" { shape: rectangle style.fill: indianred brotcastClient: "Brotcast Client" { shape: rectangle } recipes: "Recipes" { shape: rectangle }}
backend: "Backend" { shape: cloud style.stroke-dash: 3 api: "Brezel API" { shape: rectangle style.fill: orange } db: "DB" { shape: cylinder style.fill: lightyellow } brotcastServer: "Brotcast Server" { shape: rectangle style.fill: lightgoldenrodyellow } exportCloud: "Export Microservices" { shape: package style.fill: lightyellow export: "Brezel Export" { shape: rectangle style.fill: darkred style.font-color: white } pandoc: "pandoc" { shape: rectangle style.fill: orangered } wkhtmltopdf: "wkhtmltopdf" { shape: rectangle style.fill: orangered } ocr: "OCR" { shape: rectangle style.fill: orangered } }}
user -> spaspa <-> backend.apibackend.api <-> backend.dbbackend.api -> backend.brotcastServerspa.brotcastClient <--> backend.brotcastServer: { label: "Websockets"}backend.api <-> backend.exportCloud.exportbackend.exportCloud.export <-> backend.exportCloud.pandocbackend.exportCloud.export <-> backend.exportCloud.wkhtmltopdfbackend.exportCloud.export <-> backend.exportCloud.ocr| repo | function | tech | production address | staging address | development address | new development address |
|---|---|---|---|---|---|---|
| brezel/api | core api with connection to db | Laravel | api.brezel.io:443 | api.dev.brezel.io:443 | api.test:443 | localhost:8081 |
| brezel/spa | frontend | Vue.js | (a-b)*.brezel.io:443 | system.dev.brezel.io:443 | (a-b)*.brezel.test:8080 | (a-b)*.localhost:8080 |
| brezel/export | convert almost everything to almost everything else using Pandoc - also able to create simple PDFs from HTML | Laravel | export.staging.cluster01.brezel.io:443 | export.staging.cluster01.brezel.io:443 | brezel-export.test:443 | localhost:8082 ( Developer can use external export from production if he/she wants to ) |
| brezel/recipes | calculations and formula parsing (included in spa) | JS | - | - | - | - |
| brezel/brotcast | websocket client (included in spa) | Laravel Echo/Pusher.js | - | - | - | - |
| brezel/brotcast-server | websocket server | Laravel | - | - | brezel-ws.test:443 | localhost:8086 |
| brezel/bakery | edit system configurations | Vue.js | bakery.dev.brezel.io:443 | bakery.dev.brezel.io:443 | brezel-bakery.test:443 | localhost:8085 |