Infrastructure

title Brezel Deployment Infrastructure

skinparam roundCorner 15
actor "User" as user #saddlebrown
node "Brezel SPA" as spa #indianred {
    component "Brotcast Client" as brotcastClient
    component "Recipes" as recipes
}
cloud backend {
    node "Brezel API" as api #orange
    database "DB" as db #lightyellow
    node "Brotcast Server" as brotcastServer #lightgoldenrodyellow
    card "Export Microservices" as exportCloud {
        node "Brezel Export" as export #darkred;text:white
        node "pandoc" as pandoc #orangered
        node "wkhtmltopdf" as wkhtmltopdf #orangered
        node "OCR" as ocr #orangered
    }
}

user <-> spa
spa <--> api
api <--> db
api --> brotcastServer
brotcastClient <-[dashed,thickness=2]-> brotcastServer : Websockets
api <-> export
export <--> pandoc
export <--> wkhtmltopdf
export <--> ocr
repofunctiontechproduction addressstaging addressdevelopment addressnew development address
brezel/apicore api with connection to dbLaravelapi.brezel.io:443api.dev.brezel.io:443api.test:443localhost:8081
brezel/spafrontendVue.js(a-b)*.brezel.io:443system.dev.brezel.io:443(a-b)*.brezel.test:8080(a-b)*.localhost:8080
brezel/exportconvert almost everything to almost everything else using Pandoc - also able to create simple PDFs from HTMLLaravelexport.staging.cluster01.brezel.io:443export.staging.cluster01.brezel.io:443brezel-export.test:443localhost:8082
( Developer can use external export from production if he/she wants to )
brezel/recipescalculations and formula parsing (included in spa)JS----
brezel/brotcastwebsocket client (included in spa)Laravel Echo/Pusher.js----
brezel/brotcast-serverwebsocket serverLaravel--brezel-ws.test:443localhost:8086
brezel/bakeryedit system configurationsVue.jsbakery.dev.brezel.io:443bakery.dev.brezel.io:443brezel-bakery.test:443localhost:8085