From 4e1b8f876623d67d96d49a7ff7717623df7b02f7 Mon Sep 17 00:00:00 2001 From: Luc Weinbrecht Date: Fri, 28 Jun 2024 14:37:14 +0200 Subject: [PATCH] added building block view --- .../clean_architecture_building_blocks.png | Bin 0 -> 94345 bytes .../clean_architecture_building_blocks.puml | 83 ++++++++++++++++++ src/carbonataplate/README.md | 9 ++ 3 files changed, 92 insertions(+) create mode 100644 assets/architecture/clean_architecture_building_blocks.png create mode 100644 assets/architecture/clean_architecture_building_blocks.puml diff --git a/assets/architecture/clean_architecture_building_blocks.png b/assets/architecture/clean_architecture_building_blocks.png new file mode 100644 index 0000000000000000000000000000000000000000..16f493542ab345315d33f5a333b370f3c5995d6a GIT binary patch literal 94345 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 literal 0 HcmV?d00001 diff --git a/assets/architecture/clean_architecture_building_blocks.puml b/assets/architecture/clean_architecture_building_blocks.puml new file mode 100644 index 0000000..1edaf13 --- /dev/null +++ b/assets/architecture/clean_architecture_building_blocks.puml @@ -0,0 +1,83 @@ +@startuml + +cloud " " as cloud.in { + component " " as cloud.in.component <> +} + +cloud " " as cloud.out { + component " " as cloud.out.component <> { + portout " " as cloud.out.port + } +} + +package "App" { + package "Business Module" { + package "adapter" { + package "in" as adapter.in #lightgray { + component " " as adapter.in.component <> + component " " as adapter.in.dto <> + component " " as adapter.in.mapper <> + port " " as adapter.in.port + adapter.in.mapper .L.> adapter.in.dto + adapter.in.component .> adapter.in.mapper + adapter.in.component --|> adapter.in.port + adapter.in.port --> adapter.in.dto + } + + package "out" as adapter.out #lightgray { + component " " as adapter.out.component <> + component " " as adapter.out.dto <> + component " " as adapter.out.mapper <> + adapter.out.mapper -> adapter.out.dto + adapter.out.component .> adapter.out.mapper + } + } + + package "domain" #LightBlue { + component " " as domain.model <> + component " " as domain.service <> + domain.service .> domain.model + } + + package "usecase" #LightBlue { + ' TODO: Add Interactor? + + package "in" as usecase.in #white { + interface " " as usecase.in.component <> + } + package "out" as usecase.out #white { + interface " " as usecase.out.component <> + } + } + + adapter.in.mapper --> domain.model + adapter.in.component ..> usecase.in.component + + domain.service --|> usecase.in.component + domain.service ..> usecase.out.component + + adapter.out.component --|> usecase.out.component + adapter.out.mapper ..> domain.model + } + + package "Business Module " { + package "usecase " { + package "in" as usecase.in.secondary { + interface " " as usecase.in.secondary.component <> + } + } + package "domain " { + component " " as domain.secondary.service <> + } + + domain.secondary.service -L-|> usecase.in.secondary.component + } + + adapter.out.component ..> usecase.in.secondary.component +} + +cloud.in.component .D.> adapter.in.port +cloud.out.port <.D. adapter.out.component +cloud.out.port .D.> adapter.out.dto + +@enduml \ No newline at end of file diff --git a/src/carbonataplate/README.md b/src/carbonataplate/README.md index e34472b..28e7cbb 100644 --- a/src/carbonataplate/README.md +++ b/src/carbonataplate/README.md @@ -2,6 +2,15 @@ App to export prometheus data, calculate CO2 costs and push it to Camunda Optimize [Variable Ingestion API](https://docs.camunda.io/optimize/apis-tools/optimize-api/external-variable-ingestion/). +## 🏗Architecture + +#### Building Block View + +The [building block view](https://docs.arc42.org/section-5/) image below shows a stereotypical static decomposition of a system using Clean Architecture into building blocks as well as their dependencies. + +![Clean-Architecture-Building-Block-View](../../assets/architecture/clean_architecture_building_blocks.png) +*Building Block View of clean architecture* + ## Configuration Configure the application using [application.yml](./src/main/resources/application.yml).