From c4daa73481f136b855d3a507aaba13903e43f952 Mon Sep 17 00:00:00 2001 From: DerGrumpf Date: Mon, 11 Nov 2024 02:59:38 +0100 Subject: [PATCH] Added Architecture Overview to Assets --- .gitignore | 1 + README.md | 2 + assets/Architecture-Overview.png | Bin 0 -> 60216 bytes assets/architecture-overview.drawio | 162 ++++++++++++++++++++++++++++ 4 files changed, 165 insertions(+) create mode 100644 assets/Architecture-Overview.png create mode 100644 assets/architecture-overview.drawio diff --git a/.gitignore b/.gitignore index 2f8c3c6..68d9711 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /squaremap/data /squaremap/web /squaremap/locale +.DS_Store diff --git a/README.md b/README.md index 3cefbf1..0c443c7 100644 --- a/README.md +++ b/README.md @@ -68,3 +68,5 @@ docker compose down ``` ## Architecture + +![](assets/Architecture-Overview.png) diff --git a/assets/Architecture-Overview.png b/assets/Architecture-Overview.png new file mode 100644 index 0000000000000000000000000000000000000000..cecb73ffc74b154f7301e578b269e396110938b4 GIT binary patch literal 60216 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≧i$!`u4Wx;o70!MCj0*Jen6aIk;EeW; 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 dL`cUSDy4H5zE3iyJ{ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +