workspace { name "Employ" model { coordinator = person "Coordinator" { description "Matches participants to placements, manages resources" tags "Person" } Employ = softwareSystem "Employ" { description "Employment management system." tags "rund" ui = container "UI" { technology ".NET" description "Provides frontend functionality" tags "Frontend" } Backend = container "Backend" { technology ".Net Core" tags "Backend" description "Provides Employ functionalities, through JSON/API" component "Activities" { description "Taking part in a course or job training to help find work." tags Component } component "Assigment" { description "Doing a task to practice for work." tags Component } component "Capacities" { description "How many people a place can handle." tags Component } component "Places" { description "Checks product availability." tags Component } component "Organisation" { description "The organization is a group that can give tasks or activities to help people get ready for work." tags Component } component "Participant" { description "A participant is someone who takes part in activities to get ready for work." tags Component } component "Resources" { description "Checks product availability." tags Component } } Database = container "Database" { technology "Postgres" description "Processes incoming orders." tags "Database" } s3 = container "Statement Store" { description "Bank account statements rendered as PDF files." technology "Amazon Web Services S3 Bucket" tags "S3Bucket" } } Core = softwareSystem "Social Service" { tags "core" description "A social services application helps individuals access and manage public welfare programs, support services, and benefits through a secure digital platform" } CROSSDOMAIN = softwareSystem "CROSSDOMAIN" { tags "ExternalBackend" description "Processes incoming orders." } MERGEFIELDSPROVIDER = softwareSystem "MERGE-FIELDS-PROVIDER" { tags "ExternalBackend" description "Processes incoming orders." } AIMATCH = softwareSystem "AI-match" { tags "ExternalBackend" description "Processes incoming orders." } // Relationships Core -> Backend CROSSDOMAIN -> Backend "" Backend -> CROSSDOMAIN "" MERGEFIELDSPROVIDER -> Backend "" Backend -> MERGEFIELDSPROVIDER "" AIMATCH -> Backend "" Backend -> AIMATCH "" coordinator -> Employ "Uses" coordinator -> Backend "Processes orders" Backend -> Database "Reads and writes" Backend -> s3 "Reads and writes" UI -> Backend } views { systemContext Employ { include * autoLayout tb } container Employ { autoLayout tb include * } component Backend { include * autoLayout tb } theme default styles { element "S3Bucket" { shape Cylinder background #000000 color #00AEEF stroke #00AEEF } element "Frontend" { shape WebBrowser background #000000 color #00AEEF stroke #00AEEF } element "Database" { shape Cylinder background #000000 color #00AEEF stroke #00AEEF } element "rund" { shape RoundedBox background #000000 color #00AEEF stroke #00AEEF } element "core" { shape RoundedBox background #000000 color #FFBF00 stroke #FFBF00 } element "Person" { shape Person background #000000 color #00CC00 stroke #00CC00 } element "ExternalBackend" { shape RoundedBox background #000000 color #EE4B2B stroke #EE4B2B } element "Backend" { shape RoundedBox background #000000 color #00AEEF stroke #00AEEF } element "Component" { shape RoundedBox background #000000 color #00AEEF stroke #00AEEF } } } }