@startuml !include component "Admin Module" as Admin { component "Asp.Net Core webapp" as AzWeb #Technology { Application_Service(admin_ui, "Admin UI") } component "Azure function app" as AzFnc1 #Technology { Application_Service(calculator, "Calculator") admin_ui <-d- calculator Application_Service(event_store, "Event Store") admin_ui <-d- event_store Application_Service(model_cache, "Model Cache") calculator <-d- event_store calculator <-d- model_cache } Technology_Service(asb, "Azure Service Bus") component "Azure function app" as AzFnc2 #Technology { Application_Process(auto_import, "Automatic importer") auto_import <-d- event_store auto_import <-d- calculator } event_store -d-> asb model_cache <-d- asb } Business_Actor(administrator, "Give for Good administrator") administrator @-r-> admin_ui : uses Business_Actor(donor, "Donor") Business_Function(website, "giveforgood.world") donor @-r-> website : uses calculator -l-> website url for calculator is [[./calculator]] url for model_cache is [[./model_cache]] url for event_store is [[./event_store]] url for donor is [[./donor]] url for auto_import is [[./auto_import]] url for admin_ui is [[./admin_module]] @enduml