Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finished docs-5-6 #26

Merged
merged 1 commit into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 31 additions & 3 deletions docs/src/05_building_block_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,46 @@ In the best case you will get away with examples or simple signatures.

****

_**<Overview Diagram>**_
[plantuml,"Whitebox Overall System",png]
----
actor User as User
rectangle "WIQ" {
User --> WIQ : Interacts with
}

rectangle "Wikidata" {
WIQ --> Wikidata : Requests data to generate questions
}
----


Motivation::

_<text explanation>_
El propósito de esta whitebox es proporcionar una visión clara, sencilla y sin entrar en detalles de cómo el sistema WIQ interactúa con el servicio
externo de Wikidata para obtener los datos necesarios para generar preguntas. Al presentar esta interacción de manera clara,
los stakeholders pueden comprender fácilmente cómo se integra el sistema WIQ con fuentes externas de datos y cómo se utiliza esa
información para cumplir con los requisitos del sistema relacionados con la generación automática de preguntas.


Contained Building Blocks::
_<Description of contained building block (black boxes)>_
[cols="e,2e" options="header"]
|===
| Nombre | Descripción

| User
| Representa al usuario que interactúa con la aplicación WIQ.

| WIQ
| Representa la aplicación principal WIQ.

| Wikidata
| Servicio externo utilizado por WIQ para obtener datos y generar preguntas.
|===


Important Interfaces::
_<Description of important interfaces>_
ToDo

[role="arc42help"]
****
Expand Down
113 changes: 94 additions & 19 deletions docs/src/06_runtime_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,104 @@ See https://docs.arc42.org/section-6/[Runtime View] in the arc42 documentation.

****

=== <Runtime Scenario 1>


* _<insert runtime diagram or textual description of the scenario>_
* _<insert description of the notable aspects of the interactions between the
building block instances depicted in this diagram.>_
=== Autenticación del usuario
[plantuml,"Sequence diagram 1",png]
----
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as Data

Usuario -> Frontend: Iniciar sesión
Frontend -> Backend: Petición de autenticación
Backend -> Data: Consulta de datos de usuario
Data --> Backend: Datos de usuario
Backend --> Frontend: Respuesta de autenticación
Frontend --> Usuario: Confirmación de inicio de sesión
----

It is possible to use a sequence diagram:
=== Generación de una pregunta
[plantuml,"Sequence diagram 2",png]
----
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as DB
database Wikidata as Data

Usuario -> Frontend: Solicita generación de pregunta
Frontend -> Backend: Petición de generación de pregunta
Backend -> DB: Consulta de datos relevantes en BD
DB --> Backend: Datos obtenidos de BD
Backend -> Data: Consulta de datos relevantes en Wikidata
Data --> Backend: Datos obtenidos de Wikidata
Backend -> Backend: Generación de pregunta y respuestas
Backend --> Frontend: Pregunta generada
----

[plantuml,"Sequence diagram",png]
=== Usuario responde una pregunta
[plantuml,"Sequence diagram 3",png]
----
actor Alice
actor Bob
database Pod as "Bob's Pod"
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice --> Pod: Store route
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as Data

Usuario -> Frontend: Responder pregunta
Frontend -> Backend: Enviar respuesta
Backend -> Data: Consulta de datos de la pregunta
Data --> Backend: Datos de la pregunta
Backend -> Backend: Evaluar respuesta
Backend --> Frontend: Resultado de la respuesta
----

=== <Runtime Scenario 2>
=== Usuario consulta su historial
[plantuml,"Sequence diagram 4",png]
----
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as DB

Usuario -> Frontend: Consultar historial
Frontend -> Backend: Petición de historial
Backend -> DB: Consulta de historial del usuario
DB --> Backend: Datos del historial
Backend --> Frontend: Historial del usuario
----

=== ...
=== Acceso a la información de los usuarios a través de un API
[plantuml,"Sequence diagram 5",png]
----
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as DB
participant "API de Usuarios" as UserAPI

Usuario -> Frontend: Acceder a información de usuario
Frontend -> Backend: Petición de información de usuario
Backend -> DB: Consulta de datos del usuario
DB --> Backend: Datos del usuario
Backend -> UserAPI: Consulta de información del usuario
UserAPI --> Backend: Datos del usuario a través del API
Backend --> Frontend: Datos del usuario
----

=== <Runtime Scenario n>
=== Acceso a la información de las preguntas generadas a través de un API
[plantuml,"Sequence diagram 6",png]
----
actor Usuario
participant "WIQ Frontend" as Frontend
participant "WIQ Backend" as Backend
database BaseDeDatos as DB
participant "API de Preguntas" as QuestionAPI

Usuario -> Frontend: Acceder a información de preguntas
Frontend -> Backend: Petición de información de preguntas
Backend -> DB: Consulta de datos de preguntas
DB --> Backend: Datos de las preguntas
Backend -> QuestionAPI: Consulta de información de preguntas
QuestionAPI --> Backend: Datos de las preguntas a través del API
Backend --> Frontend: Datos de las preguntas
----