From 578564cd4a2cbb645d88c6fb6e35e741daa14afe Mon Sep 17 00:00:00 2001 From: ryan1604 Date: Wed, 8 Nov 2023 09:17:46 +0800 Subject: [PATCH] Update Architecture Diagram and fix typo --- docs/DeveloperGuide.md | 2 +- docs/diagrams/ArchitectureDiagram.puml | 12 ++++++------ docs/images/ArchitectureDiagram.png | Bin 17350 -> 17887 bytes 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9ec20c3e81..6188241385 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -355,7 +355,7 @@ Example: `budget view` * Should work on main OS (Windows, Linux, Mac) that has Java 11 installed. * This app is meant for a single user. -* This app targeted towards users with an above-average typing speed. +* This app is targeted towards users with an above-average typing speed. ## Glossary diff --git a/docs/diagrams/ArchitectureDiagram.puml b/docs/diagrams/ArchitectureDiagram.puml index 9d996c1c75..a40f4a0cd5 100644 --- a/docs/diagrams/ArchitectureDiagram.puml +++ b/docs/diagrams/ArchitectureDiagram.puml @@ -4,15 +4,15 @@ package "" as f { Class Ui #blue -Class Parser #Magenta -Class Model #DeepPink -Class Main #PowderBlue -Class Storage #SpringGreen +Class Parser #DarkMagenta +Class Model #Crimson +Class Main #LightSkyBlue +Class Storage #Green Class Command #Grey } -Class User #red -Class "<$documents>" as File #Lime +Class User #IndianRed +Class "<$documents>" as File #DarkOliveGreen User -down-> Ui Ui --> Parser diff --git a/docs/images/ArchitectureDiagram.png b/docs/images/ArchitectureDiagram.png index 8871e46cd7de4d385b0a3a72d55645d4f31dae66..7ab8365d792feb348489ff7cb56bea0126ba8eb0 100644 GIT binary patch literal 17887 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 U4JY_ZD_D2s@88b7W$5?60qX(d;Q#;t literal 17350 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