diff --git a/fdd/domainmodel.puml b/fdd/domain-model/domain_model.puml similarity index 100% rename from fdd/domainmodel.puml rename to fdd/domain-model/domain_model.puml diff --git a/fdd/use-case-diagram/milestone_1.puml b/fdd/use-case-diagram/milestone_1.puml deleted file mode 100644 index 75b5e93..0000000 --- a/fdd/use-case-diagram/milestone_1.puml +++ /dev/null @@ -1 +0,0 @@ -' No use cases are described here. \ No newline at end of file diff --git a/fdd/use-case-diagram/milestone_2.puml b/fdd/use-case-diagram/milestone_2.puml index 0b65f7a..6c85b4f 100644 --- a/fdd/use-case-diagram/milestone_2.puml +++ b/fdd/use-case-diagram/milestone_2.puml @@ -1,8 +1,8 @@ @startuml left to right direction -actor User as U -actor UserWithSpecialNeeds as USN +actor User as User +actor UserWithSpecialNeeds as "User with special needs" package "Milestone 2 - App Settings" { [Switch Theme] as ST @@ -14,12 +14,12 @@ package "Milestone 2 - App Settings" { [Change Notification Settings] as CNS } -U --> ST -U --> SL -U --> CFS -U --> MP -U --> UPP -USN --> UAF -U --> CNS +User --> ST +User --> SL +User --> CFS +User --> MP +User --> UPP +UserWithSpecialNeeds --> UAF +User --> CNS @enduml diff --git a/fdd/use-case-diagram/milestone_3.puml b/fdd/use-case-diagram/milestone_3.puml index a531b6e..00cdaf0 100644 --- a/fdd/use-case-diagram/milestone_3.puml +++ b/fdd/use-case-diagram/milestone_3.puml @@ -1,7 +1,7 @@ @startuml left to right direction -actor WTRManager as Manager +actor Manager as "WTR manager" actor User as AppUser package "Milestone 3 - Windesheim TechRadar" { diff --git a/fdd/use-case-diagram/milestone_4.puml b/fdd/use-case-diagram/milestone_4.puml index a6a18db..5d4d6d8 100644 --- a/fdd/use-case-diagram/milestone_4.puml +++ b/fdd/use-case-diagram/milestone_4.puml @@ -1,7 +1,7 @@ @startuml left to right direction -actor NewUser as NewUser +actor NewUser as "New user" actor User as User package "Milestone 4 - App Introduction" { diff --git a/fdd/use-case-diagram/milestone_5.puml b/fdd/use-case-diagram/milestone_5.puml index fb062e0..bf79ef6 100644 --- a/fdd/use-case-diagram/milestone_5.puml +++ b/fdd/use-case-diagram/milestone_5.puml @@ -2,7 +2,6 @@ left to right direction actor User as User -actor BeginnerUser as Beginner package "Milestone 5 - Learn to Prompt" { [Engage in Prompt Exercises] as UC5_1 diff --git a/fdd/usecasemodel.puml b/fdd/usecasemodel.puml deleted file mode 100644 index 8b5354a..0000000 --- a/fdd/usecasemodel.puml +++ /dev/null @@ -1,58 +0,0 @@ -@startuml -left to right direction -skinparam packageStyle rectangle - -actor "Person" as User -actor "Admin" as Admin - -rectangle WINsight { - usecase "View Profile" as UC2 - usecase "Edit Profile" as UC3 - usecase "Logout" as UC4 - usecase "View Content" as UC1 - usecase "View CoP" as UC8 - usecase "View Study Material" as UC9 - usecase "View Workshop" as UC10 - usecase "View WTR" as UC11 - usecase "Create in CoP" as UC12 - usecase "Read Study Material" as UC13 - usecase "Login" as UC14 - usecase "Moderate Content in CoP" as UC15 - usecase "Change Font Size" as UC16 - usecase "Change Theme" as UC17 - usecase "Change Language" as UC18 - usecase "Change Notification Settings" as UC19 -} - -' rectangle Workshop { -' usecase "Attend Workshop" as UC5 -' } - -' rectangle WTR { -' usecase "Read Content" as UC6 -' usecase "Participate in CoP" as UC7 -' } - -User --> UC1 -User --> UC2 -User --> UC3 -User --> UC4 -' User --> UC5 -' User --> UC6 -' User --> UC7 -User --> UC8 -User --> UC9 -User --> UC10 -User --> UC11 -User --> UC12 -User --> UC13 -User --> UC14 -Admin --> UC15 -User --> UC16 -User --> UC17 -User --> UC18 -User --> UC19 - -Admin --|> User - -@enduml diff --git a/projectplan/teamstructure.puml b/projectplan/team_structure.puml similarity index 100% rename from projectplan/teamstructure.puml rename to projectplan/team_structure.puml diff --git a/readme.md b/readme.md index 74db77a..b7ca631 100644 --- a/readme.md +++ b/readme.md @@ -1,12 +1,17 @@ # UML Diagrams Repository -This repository contains UML (Unified Modeling Language) diagrams created using PlantUML. PlantUML is a text-based diagramming tool that allows you to create various types of UML diagrams from simple textual descriptions. +This repository contains UML (Unified Modeling Language) diagrams created using PlantUML. +PlantUML is a text-based diagramming tool that allows you to create various types of +UML diagrams from simple textual descriptions. ## PlantUML ### What is PlantUML? -PlantUML is an open-source tool for creating UML diagrams from plain text descriptions. It supports various types of UML diagrams, including class diagrams, sequence diagrams, activity diagrams, and more. With PlantUML, you can quickly and easily create professional-looking diagrams using a simple text-based syntax. +PlantUML is an open-source tool for creating UML diagrams from plain text descriptions. +It supports various types of UML diagrams, including class diagrams, sequence diagrams, +activity diagrams, and more. With PlantUML, you can quickly and easily create professional-looking +diagrams using a simple text-based syntax. ### How to Use PlantUML @@ -22,8 +27,11 @@ PlantUML is an open-source tool for creating UML diagrams from plain text descri ### VSCode Extension -Within VSCode, you can use the [PlantUML extension](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) to preview your PlantUML diagrams. This extension also provides syntax highlighting for PlantUML files. +Within VSCode, you can use the [PlantUML extension](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) to preview your PlantUML diagrams. +This extension also provides syntax highlighting for PlantUML files. ### JetBrains Extension -Within JetBrains IDEs (e.g., IntelliJ, PyCharm, etc.), you can use the [PlantUML integration](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) plugin to preview your PlantUML diagrams. This plugin also provides syntax highlighting for PlantUML files. +Within JetBrains IDEs (e.g., IntelliJ, PyCharm, etc.), you can use the [PlantUML integration](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) +plugin to preview your PlantUML diagrams. This plugin also provides syntax highlighting for PlantUML +files. diff --git a/render/background-collect-flow.svg b/render/background-collect-flow.svg new file mode 100644 index 0000000..9dad8ba --- /dev/null +++ b/render/background-collect-flow.svg @@ -0,0 +1 @@ +isFirstTimeUser is trueRender Welcome Message, Buttons: "Okay" and "Skip"user clicks "Okay"Set showBackgroundInput to trueSet isFirstTimeUser to falseReturn nullRender Background Input FormUser answers questionStore response in Reduxtruequestions not answeredSet isFirstTimeUser to falseshowBackgroundInput is true \ No newline at end of file diff --git a/render/domainmodel.svg b/render/domain_model.svg similarity index 100% rename from render/domainmodel.svg rename to render/domain_model.svg diff --git a/render/error-boundary.svg b/render/error-boundary.svg new file mode 100644 index 0000000..e5430b6 --- /dev/null +++ b/render/error-boundary.svg @@ -0,0 +1 @@ +ErrorBoundarywindowWidth: numberwindowHeight: numbercolors: objectstyles: objecthandlePress(): voidAppUses \ No newline at end of file diff --git a/render/high-contrast-switch.svg b/render/high-contrast-switch.svg new file mode 100644 index 0000000..8e1cfe9 --- /dev/null +++ b/render/high-contrast-switch.svg @@ -0,0 +1 @@ +ThemeSliceisHighContrastEnabled: booleanHighContrastSwitcherisHighContrastModeEnabled: booleanrender(): React.ElementColorscolorMap: objecthighContrastColorMap: objectuseColorConfig(): objectuseCurrentHighContrastMode(): booleanprovides stateupdates stateprovides stateprovides colors \ No newline at end of file diff --git a/render/language-switcher.svg b/render/language-switcher.svg new file mode 100644 index 0000000..8ef2138 --- /dev/null +++ b/render/language-switcher.svg @@ -0,0 +1 @@ +i18ninit(): voidTextTranslatedtext: stringrender(): React.ElementlanguageOptionsnl: stringen: stringde: stringLanguageTranslationstranslation: stringusesusesprovides \ No newline at end of file diff --git a/render/milestone_2.svg b/render/milestone_2.svg index f1e2427..0c67bc8 100644 --- a/render/milestone_2.svg +++ b/render/milestone_2.svg @@ -1 +1 @@ -Milestone 2 - App SettingsSwitch ThemeSwitch LanguageChange Font SizeManage ProfileUpload Profile PhotoUse Accessibility FeaturesChange Notification SettingsUserUserWithSpecialNeeds \ No newline at end of file +Milestone 2 - App SettingsSwitch ThemeSwitch LanguageChange Font SizeManage ProfileUpload Profile PhotoUse Accessibility FeaturesChange Notification SettingsUserUser with special needs \ No newline at end of file diff --git a/render/milestone_3.svg b/render/milestone_3.svg index 0f697e1..cecad60 100644 --- a/render/milestone_3.svg +++ b/render/milestone_3.svg @@ -1 +1 @@ -Milestone 3 - Windesheim TechRadarManage via WTR DashboardUpdate App Content in WordPressRead WTR Use Case PromptsBrowse WTR contentBrowse WTR use casesAdd a new use case to WTRWTRManagerUser \ No newline at end of file +Milestone 3 - Windesheim TechRadarManage via WTR DashboardUpdate App Content in WordPressRead WTR Use Case PromptsBrowse WTR contentBrowse WTR use casesAdd a new use case to WTRWTR managerUser \ No newline at end of file diff --git a/render/milestone_4.svg b/render/milestone_4.svg index e747c84..a47893f 100644 --- a/render/milestone_4.svg +++ b/render/milestone_4.svg @@ -1 +1 @@ -Milestone 4 - App IntroductionProvide Professional BackgroundReceive App TutorialUnderstand AI ParadoxNewUserUser \ No newline at end of file +Milestone 4 - App IntroductionProvide Professional BackgroundReceive App TutorialUnderstand AI ParadoxNew userUser \ No newline at end of file diff --git a/render/milestone_5.svg b/render/milestone_5.svg index a03a514..b91faf9 100644 --- a/render/milestone_5.svg +++ b/render/milestone_5.svg @@ -1 +1 @@ -Milestone 5 - Learn to PromptEngage in Prompt ExercisesFollow Guided Prompt CreationReceive Prompt Best PracticesReceive Personalized AssignmentsGet Content RecommendationsLearn about EthicsUserBeginnerUser \ No newline at end of file +Milestone 5 - Learn to PromptEngage in Prompt ExercisesFollow Guided Prompt CreationReceive Prompt Best PracticesReceive Personalized AssignmentsGet Content RecommendationsLearn about EthicsUser \ No newline at end of file diff --git a/render/promptLibrary-flow.svg b/render/promptLibrary-flow.svg new file mode 100644 index 0000000..fe2da16 --- /dev/null +++ b/render/promptLibrary-flow.svg @@ -0,0 +1 @@ +Initialize PromptLibraryFetch data using usePromptLibraryData fetched successfully?yesnoApply filters using selectedTools and selectedSectorsAny prompts match the filter?yesnoRender list of PromptCardsDisplay "No prompts found" messageDisplay error messageRender GoBackButton \ No newline at end of file diff --git a/render/routes.svg b/render/routes.svg new file mode 100644 index 0000000..217ae69 --- /dev/null +++ b/render/routes.svg @@ -0,0 +1 @@ +RoutesRouteName: stringRouteLinkingprefixes: string[]config: { screens: {} }NavigationBarLinkicon: stringroute: stringNavigationBarLink(icon: string, route: string)ReactNavigationContainerRouterrouteLinking: RouteLinkingnavigationBarLinks: NavigationBarLink[]Router(routeLinking: RouteLinking, navigationBarLinks: NavigationBarLink[])UsesUsesUsesUses \ No newline at end of file diff --git a/render/teamstructure.svg b/render/team_structure.svg similarity index 100% rename from render/teamstructure.svg rename to render/team_structure.svg diff --git a/render/theme.svg b/render/theme.svg new file mode 100644 index 0000000..82cfb77 --- /dev/null +++ b/render/theme.svg @@ -0,0 +1 @@ +ColorMaplight: ColorSchemeTypedark: ColorSchemeTypeCurrentThemeAppAppSelectorColorConfighasKeyInMapReduxUsesUsesUsesUsesUsesUses \ No newline at end of file diff --git a/render/tutorial.svg b/render/tutorial.svg new file mode 100644 index 0000000..6331c88 --- /dev/null +++ b/render/tutorial.svg @@ -0,0 +1 @@ +TutorialtutorialStep : inttutorialCompleted : boolmodalVisible : boolnavigation : NavigationhandleNext() : voidNavigationTutorialSlicetutorialStep : inttutorialCompleted : boolsetCompleted() : voidnextStep() : voidTutorialResetButtonnavigation : NavigationhandleReset() : voidTutorialDatatitle : stringdescription : stringNextPage : stringRootState \ No newline at end of file diff --git a/render/usecasemodel.svg b/render/usecasemodel.svg deleted file mode 100644 index 0949755..0000000 --- a/render/usecasemodel.svg +++ /dev/null @@ -1 +0,0 @@ -WINsightView ProfileEdit ProfileLogoutView ContentView CoPView Study MaterialView WorkshopView WTRCreate in CoPRead Study MaterialLoginModerate Content in CoPChange Font SizeChange ThemeChange LanguageChange Notification SettingsPersonAdmin \ No newline at end of file diff --git a/tdd/background-collect-flow.puml b/tdd/background-collect-flow.puml new file mode 100644 index 0000000..8ed8eba --- /dev/null +++ b/tdd/background-collect-flow.puml @@ -0,0 +1,27 @@ +@startuml background-collect-flow + +start + +if (isFirstTimeUser is true) then + :Render Welcome Message, Buttons: "Okay" and "Skip"; + if (user clicks "Okay") then + :Set showBackgroundInput to true; + else + :Set isFirstTimeUser to false; + endif +else + :Return null; +endif + +if (showBackgroundInput is true) then + :Render Background Input Form; + while (questions not answered) is (true) + :User answers question; + :Store response in Redux; + endwhile + :Set isFirstTimeUser to false; +endif + +stop + +@enduml diff --git a/tdd/error-boundary.puml b/tdd/error-boundary.puml new file mode 100644 index 0000000..8c5b6fc --- /dev/null +++ b/tdd/error-boundary.puml @@ -0,0 +1,17 @@ +@startuml ErrorBoundary + +class ErrorBoundary { + -windowWidth: number + -windowHeight: number + -colors: object + -styles: object + +handlePress(): void +} + +class App { + +} + +App --> ErrorBoundary: Uses + +@enduml \ No newline at end of file diff --git a/tdd/high-contrast-switch.puml b/tdd/high-contrast-switch.puml new file mode 100644 index 0000000..bc4ed22 --- /dev/null +++ b/tdd/high-contrast-switch.puml @@ -0,0 +1,24 @@ +@startuml HighContrastSwitcher + +class ThemeSlice { + +isHighContrastEnabled: boolean +} + +class HighContrastSwitcher { + -isHighContrastModeEnabled: boolean + +render(): React.Element +} + +class Colors { + -colorMap: object + -highContrastColorMap: object + +useColorConfig(): object + +useCurrentHighContrastMode(): boolean +} + +ThemeSlice --> HighContrastSwitcher : provides state +HighContrastSwitcher --> ThemeSlice : updates state +ThemeSlice --> Colors : provides state +Colors --> HighContrastSwitcher : provides colors + +@enduml \ No newline at end of file diff --git a/tdd/language-switcher.puml b/tdd/language-switcher.puml new file mode 100644 index 0000000..02c828d --- /dev/null +++ b/tdd/language-switcher.puml @@ -0,0 +1,26 @@ +@startuml Language Switcher + +class i18n { + +init(): void +} + +class TextTranslated { + -text: string + +render(): React.Element +} + +class languageOptions { + -nl: string + -en: string + -de: string +} + +class LanguageTranslations { + -translation: string +} + +i18n --> LanguageTranslations : uses +TextTranslated --> i18n : uses +languageOptions --> LanguageTranslations : provides + +@enduml \ No newline at end of file diff --git a/tdd/promptLibrary-flow.puml b/tdd/promptLibrary-flow.puml new file mode 100644 index 0000000..79f9f96 --- /dev/null +++ b/tdd/promptLibrary-flow.puml @@ -0,0 +1,22 @@ +@startuml PromptLibrary + +start + +:Initialize PromptLibrary; +:Fetch data using usePromptLibrary; +if (Data fetched successfully?) then (yes) + :Apply filters using selectedTools and selectedSectors; + if (Any prompts match the filter?) then (yes) + :Render list of PromptCards; + else (no) + :Display "No prompts found" message; + endif +else (no) + :Display error message; +endif + +:Render GoBackButton; + +stop + +@enduml diff --git a/tdd/routes.puml b/tdd/routes.puml new file mode 100644 index 0000000..666ba23 --- /dev/null +++ b/tdd/routes.puml @@ -0,0 +1,33 @@ +@startuml Routes + +enum Routes { + RouteName: string +} + +class RouteLinking { + - prefixes: string[] + - config: { screens: {} } +} + +class NavigationBarLink { + - icon: string + - route: string + + + NavigationBarLink(icon: string, route: string) +} + +class ReactNavigationContainer{ + +} +class Router { + - routeLinking: RouteLinking + - navigationBarLinks: NavigationBarLink[] + + + Router(routeLinking: RouteLinking, navigationBarLinks: NavigationBarLink[]) +} + +RouteLinking --|> Routes: Uses +Router --|> Routes: Uses +NavigationBarLink --|> Routes: Uses +ReactNavigationContainer --|> RouteLinking: Uses +@enduml \ No newline at end of file diff --git a/tdd/theme.puml b/tdd/theme.puml new file mode 100644 index 0000000..fcbf87e --- /dev/null +++ b/tdd/theme.puml @@ -0,0 +1,24 @@ +@startuml Colors + +class ColorMap { + light: ColorSchemeType + dark: ColorSchemeType +} + +class CurrentTheme{ + +} + +class App{ + +} + + + +CurrentTheme --> AppSelector: Uses +ColorConfig --> hasKeyInMap: Uses +ColorConfig --> CurrentTheme: Uses +hasKeyInMap --> ColorMap: Uses +App --> ColorConfig: Uses +AppSelector --> Redux: Uses +@enduml diff --git a/tdd/tutorial.puml b/tdd/tutorial.puml new file mode 100644 index 0000000..096406b --- /dev/null +++ b/tdd/tutorial.puml @@ -0,0 +1,39 @@ +@startuml ReactTutorialComponent + +class Tutorial { + - tutorialStep : int + - tutorialCompleted : bool + - modalVisible : bool + - navigation : Navigation + + handleNext() : void +} + +class Navigation { +} + +class TutorialSlice{ + + tutorialStep : int + + tutorialCompleted : bool + + + setCompleted() : void + + nextStep() : void +} + +class TutorialResetButton { + - navigation : Navigation + + + handleReset() : void +} + +class TutorialData{ + + title : string + + description : string + + NextPage : string +} +Tutorial --> TutorialSlice +Tutorial --> Navigation +Tutorial --> TutorialData +TutorialSlice --> RootState +TutorialResetButton --> Navigation +TutorialResetButton --> TutorialSlice +@enduml