From ca18f29ca0782d732135cc1a1216eeb89a409cda Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 12 Feb 2024 10:53:51 +0100 Subject: [PATCH] 5 Block View Initial --- docs/src/05_building_block_view.adoc | 42 ++++++++++++++++++++++++---- package-lock.json | 6 ++++ 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 package-lock.json diff --git a/docs/src/05_building_block_view.adoc b/docs/src/05_building_block_view.adoc index df5c29c..7ab27a2 100644 --- a/docs/src/05_building_block_view.adoc +++ b/docs/src/05_building_block_view.adoc @@ -63,18 +63,50 @@ In the best case you will get away with examples or simple signatures. **** -_****_ +[plantuml, format="png"] +---- +@startuml +' Define custom style for components +skinparam componentStyle uml2 + +' Define components as rectangles without default stereotypes +rectangle Frontend +rectangle "User Management" as UserManagement +rectangle "Question Generation" as QuestionGeneration +cloud "Wikidata API" as WikidataAPI + +' Define connections +Frontend --> UserManagement +Frontend --> QuestionGeneration +QuestionGeneration --> WikidataAPI +@enduml +---- -Motivation:: -__ +Motivation:: +The reasoning behind this separation is to achieve a modular architecture with clear separation of concerns. +It also allows to expose the user management and the question generation as APIs. Contained Building Blocks:: -__ + +[cols="1,2" options="header"] +|=== +| **Name** | **Responsibility** +| Frontend | Represents the user interface and manages the quiz logic of the application. +| User Management | Handles everything related to user accounts. +| Question Generator | Generates questions from Wikidata data and sends them to the frontend. +|=== Important Interfaces:: -__ + +[cols="1,2" options="header"] +|=== +| **Name** | **Description** +| Frontend <-> User Management | This interface defines how the frontend communicates with the User Management Service to log in, retrieve user data, or perform actions requiring authorization. +| Question Generator <-> Frontend | This interface defines how the Question Generator Service delivers processed questions to the frontend for display. +|=== + [role="arc42help"] **** diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..59845ca --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "wiq_en3a", + "lockfileVersion": 3, + "requires": true, + "packages": {} +}