From ec6173bb8e15fae8b8b1ae76a53b689f2ef896df Mon Sep 17 00:00:00 2001 From: SergioGarSant Date: Mon, 17 Feb 2025 16:17:50 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Realizaci=C3=B3n=20de=20la=20parte=203=20de?= =?UTF-8?q?=20la=20documentaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/images/Diagrama-despliegue.svg | 1 + docs/images/modelo.svg | 1 + docs/src/03_context_and_scope.adoc | 124 +++++++++++++++++++--------- 3 files changed, 88 insertions(+), 38 deletions(-) create mode 100644 docs/images/Diagrama-despliegue.svg create mode 100644 docs/images/modelo.svg diff --git a/docs/images/Diagrama-despliegue.svg b/docs/images/Diagrama-despliegue.svg new file mode 100644 index 00000000..a427c51b --- /dev/null +++ b/docs/images/Diagrama-despliegue.svg @@ -0,0 +1 @@ +UsuarioWebAppBackend (Servidor)WikiDataMongoDBMonitorización de ResultadosNavegador WebAplicación ReactGatewayLLM_ServiceServicio Autenticación (authservice)Servicio Usuario (userservice)API WikiDataBase Datos de las partidas de los usuariosPrometheusGrafanaBase de Datos de UsuariosHTTP RequestRESTEnviar info al usuarioValidación de usuarioUsuario solicita pistaResponder con la pista no implícita.Manejo de datosEnvía la imagen y almacena la respuestaEnvía las pistas no implícitas.LoginManejo de datosRecolecta métricasVisualiza métricas \ No newline at end of file diff --git a/docs/images/modelo.svg b/docs/images/modelo.svg new file mode 100644 index 00000000..8fa2aadb --- /dev/null +++ b/docs/images/modelo.svg @@ -0,0 +1 @@ +UsuarioBase de DatosWIChatWikidataLLM_APIInteractua para jugar al juegoSolicita datos necesarios para las preguntasDevuelve las imágenes y respuestasEnvía las consultas del usuarioDevuelve respuestas contextuales a las preguntasPuede iniciar sesion y registrar sus partidas \ No newline at end of file diff --git a/docs/src/03_context_and_scope.adoc b/docs/src/03_context_and_scope.adoc index 268a4d5c..f7602460 100644 --- a/docs/src/03_context_and_scope.adoc +++ b/docs/src/03_context_and_scope.adoc @@ -1,80 +1,128 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-context-and-scope]] -== Context and Scope +== Contexto y Alcance ifdef::arc42help[] [role="arc42help"] **** -.Contents -Context and scope - as the name suggests - delimits your system (i.e. your scope) from all its communication partners -(neighboring systems and users, i.e. the context of your system). It thereby specifies the external interfaces. +.Contenido +El ámbito y contexto del sistema, como su nombre lo indica, delimita el sistema (es decir, su ámbito) de todos +sus interlocutores (sistemas y usuarios vecinos, es decir, el contexto del sistema). De este modo, especifica las interfaces externas. -If necessary, differentiate the business context (domain specific inputs and outputs) from the technical context (channels, protocols, hardware). +Si es necesario, diferencie el contexto empresarial (entradas y salidas específicas del dominio) del contexto técnico (canales, protocolos, hardware).. -.Motivation -The domain interfaces and technical interfaces to communication partners are among your system's most critical aspects. Make sure that you completely understand them. +.Motivación +Las interfaces de dominio y las interfaces técnicas con los socios de comunicación se encuentran entre los aspectos más críticos de su sistema. Asegúrese de comprenderlas por completo. -.Form -Various options: +.Formato +Varias opciones: -* Context diagrams -* Lists of communication partners and their interfaces. +* Varios diagramas de contexto +* Listas de socios de comunicación y sus interfaces. -.Further Information +.Más información -See https://docs.arc42.org/section-3/[Context and Scope] in the arc42 documentation. +Vea https://docs.arc42.org/section-3/[Context and Scope] en la documentación arc42. **** endif::arc42help[] -=== Business Context +=== Contexto de Negocio + +image::modelo.svg[Contexto de negocio] + + +[options="header",cols="1,2"] +|=== +|Elemento|Descripción +| _Usuario_ | _El concursante que interactúa con la aplicación y le puede preguntar al chatbot integrado, y responder a las preguntas mostradas._ + +| _WIChat_ | _Aplicación web principal donde se desarrolla la lógica del juego._ + +| _Wikidata_ | _Fuente de donde se extraeran las preguntas y las respuestas, las cuales no estarán visibles hasta que el usuario interactue con la aplicación tras responder._ +| _LLM_API_ | _API que integra un LLM que se utilizará para generar pistas de forma dinámica y que seguira un diálogo conversacional que ayudará al concursante a responder las preguntas, pero que nunca le dirán implícitamente la respuesta._ +| _Base de Datos_ | _Sistema de almacenamiento que guarda información relevante sobre el usuario y anteriores partidas._ +|=== ifdef::arc42help[] [role="arc42help"] **** -.Contents -Specification of *all* communication partners (users, IT-systems, ...) with explanations of domain specific inputs and outputs or interfaces. -Optionally you can add domain specific formats or communication protocols. +.Contenido +Especificación de todos los interlocutores (usuarios, sistemas informáticos, etc.) con explicaciones de las entradas y salidas o interfaces específicas del dominio. +Opcionalmente, puede añadir formatos o protocolos de comunicación específicos del dominio. -.Motivation -All stakeholders should understand which data are exchanged with the environment of the system. +.Motivación +Todas las partes interesadas deben comprender qué datos se intercambian con el entorno del sistema. -.Form -All kinds of diagrams that show the system as a black box and specify the domain interfaces to communication partners. +.Formato +Todo tipo de diagramas que muestran el sistema como una caja negra y especifican las interfaces del dominio con los socios de comunicación. -Alternatively (or additionally) you can use a table. -The title of the table is the name of your system, the three columns contain the name of the communication partner, the inputs, and the outputs. +Como alternativa (o adicionalmente), puede utilizar una tabla. +El título de la tabla es el nombre de su sistema, las tres columnas contienen el nombre del interlocutor, las entradas y las salidas. **** endif::arc42help[] -**** - -**** - -=== Technical Context +=== Contexto Técnico ifdef::arc42help[] [role="arc42help"] **** -.Contents -Technical interfaces (channels and transmission media) linking your system to its environment. In addition a mapping of domain specific input/output to the channels, i.e. an explanation which I/O uses which channel. +.Contenido +Interfaces técnicas (canales y medios de transmisión) que juntan el sistema con su entorno. Además un mapeo del dominio especifico de entrada/salida a los canales, es decir una explicación de qué entrada salida usa cada canal. -.Motivation -Many stakeholders make architectural decision based on the technical interfaces between the system and its context. Especially infrastructure or hardware designers decide these technical interfaces. +.Motivación +Muchos stakeholders toman decisiones arquitectónicas basadas en las interfaces técnicas entre el sistema y su contexto. En especial, los diseñadores de hardware o infraestructura deciden estas interfaces técnicas. -.Form -E.g. UML deployment diagram describing channels to neighboring systems, -together with a mapping table showing the relationships between channels and input/output. +.Forma +E.g. Diagrama UML de despliegue describiendo canales con los sistemas vecinos, +junto a una tabla de mapeo mostrando las relaciones entre canales y la entrada/salida. **** endif::arc42help[] -**** +==== Diagrama de Despliegue + +image::Diagrama-despliegue.svg[Diagrama de Despliegue] + +==== **Explicación de Interfaces Técnicas** + +===== **Gateway** +API que hace de enlace entre las distintas partes de la aplicación. + +===== **Aplicación React** +React aportará al usuario una interfaz con la que interactuar y responder a las preguntas y por medio de la cual hacer las peticiones +correspondientes a la parte de backEnd de la aplicación. + +===== **Base de Datos de Usuarios** +Almacena toda la información referente a los usuarios,datos,historial de partidas. + +===== **Servicio de Autenticación** +Interfaz que se comunica con la base de datos de usuarios para comprobar el si el inicio de sesión es válido o no. + +===== **Servicio de Usuario** +Interfaz que se comunica con la base de datos de usuarios para consultar y, o actualizar la información referente a las partidas de los mismos. + +===== **LLM_Service** +Servicio que procesará las pistas de WikiData y devolverá la respuesta a la pregunta del usuario. +===== **API WikiData** +Wikidata nos aportará todo lo referente a las preguntas, tanto la imágen, como las respuestas y la respuesta correcta, además de que nos permitirá recopilar pistas que servirán al LLM para responder. -**** +==== Mapeo de Canales de Entrada/salida -**** +[options="header",cols="1,2,2"] +|=== +| Canal | Entrada | Salida +| Aplicación React | Peticiones HTTP del usuario con las acciones | Respuesta a través de la interfaz. +| Gateway | Peticiones REST de webapp para obtener datos de las preguntas (imágenes,respuestas), o solicitar operaciones como iniciar sesión | Respuesta con la información solicitada en cada caso. +| Servicio Usuario | Datos que se quieren consultar a la base de datos | Respuesta a dicha consulta. +| Servicio Autenticación | Datos de inicio de sesión del usuario | Consulta de comprobación de los datos, para ver si son erróneos o no. +| LLM_Service | Prompt con la solicitud de pistas que quiere el usuario en ese momento | Pista generada por el modelo. +| API Wikidata | Solicitud de las imagenes o pistas en ese momento | Respuesta sobre la imagen solicitada, ya sea en forma de pista, o bien una nueva imagen en caso de que se solicite una nueva pregunta. +| Base de Datos de Usuarios | Instrucciones SQL para consultas o insercioes | Resultado de las consultas o confirmación de las inserciones. +| Prometheus | Métricas de Gateway | métricas en su base de datos. +| Grafana | Métricas organizadas en Prometheus | Visualización de las métricas. +|=== From 96ca954f3b02c75fda5374f341bc1d5ca5b9ef01 Mon Sep 17 00:00:00 2001 From: SergioGarSant Date: Tue, 18 Feb 2025 13:32:43 +0100 Subject: [PATCH 2/2] Prueba --- docs/src/03_context_and_scope.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/src/03_context_and_scope.adoc b/docs/src/03_context_and_scope.adoc index f7602460..d1780a8b 100644 --- a/docs/src/03_context_and_scope.adoc +++ b/docs/src/03_context_and_scope.adoc @@ -42,6 +42,8 @@ image::modelo.svg[Contexto de negocio] | _WIChat_ | _Aplicación web principal donde se desarrolla la lógica del juego._ +| _WIChat_ | _Aplicación web principal donde se desarrolla la lógica del juego._ + | _Wikidata_ | _Fuente de donde se extraeran las preguntas y las respuestas, las cuales no estarán visibles hasta que el usuario interactue con la aplicación tras responder._ | _LLM_API_ | _API que integra un LLM que se utilizará para generar pistas de forma dinámica y que seguira un diálogo conversacional que ayudará al concursante a responder las preguntas, pero que nunca le dirán implícitamente la respuesta._ | _Base de Datos_ | _Sistema de almacenamiento que guarda información relevante sobre el usuario y anteriores partidas._