diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 0784f157..9a255e79 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -3,10 +3,6 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-architecture-constraints]] == Restricciones de la arquitectura - -[role="arc42help"] -**** - Las restricciones de la arquitectura de este proyecto son las siguientes: |=== @@ -40,4 +36,3 @@ reduciendo drásticamente el uso de software bajo licencia. * El uso de Wikidata reducirá la carga de trabajo de la aplicación, al no tener que trabajar sobre una base de datos local. -**** diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index 1a6328e5..fd682092 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -3,21 +3,14 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-system-scope-and-context]] == Alcance y contexto del sistema - - -[role="arc42help"] -**** Nuestro proyecto, denominado "WIQ", consiste en una simulación inspirada en el famoso juego de RTVE "Saber y Ganar" (más información en: https://www.rtve.es/play/videos/saber-y-ganar/), en el cual los concursantes tienen la oportunidad de hacerse con una cantidad de dinero en función del número de respuestas acertadas a preguntas de diversas temáticas, con un límite establecido de tiempo para cada una de ellas. La aplicación permitirá a los usuarios no solo acumular dinero al participar en la funcionalidad básica de juego de preguntas y respuestas, si no que cuenta también con otras funcionalidades como poder consultar su historial de juegos y el listado completo de usuarios registrados. -**** === Contexto de negocio -[role="arc42help"] -**** Al acceder a la página principal de la aplicación, los usuarios podrán ver una interfaz que les permitirá iniciar sesión para acceder a su cuenta. En caso de ser su primera vez y no tener cuenta, tendrá la opción de registrarse. Una vez autenticados, los usuarios se encontrarán con la opción tanto empezar un nuevo juego como de ver su historial de jugadas anteriores. @@ -26,13 +19,10 @@ que le llevó completarlo. Aparte de eso también tendrán la opción de visualizar el listado completo de usuarios registrados hasta la fecha. -**** === Contexto técnico -[role="arc42help"] -**** Para el desarrollo de este proyecto usaremos la API de Wikidata tanto para generar automaticamente las preguntas como para obtener las respuestas correctas a las mismas. Respecto al lenguaje de programación se usará JavaScript, utilizando React para el desarrollo del front-end. Además @@ -56,6 +46,3 @@ haremos uso de Node.js y la implementación de microservicios para el back-end. | Node.Js | Entorno de servidor para tratar los endpoints. |=== - -**** - diff --git a/docs/src/05_building_block_view.adoc b/docs/src/05_building_block_view.adoc index 5cfbfcd4..d70676ce 100644 --- a/docs/src/05_building_block_view.adoc +++ b/docs/src/05_building_block_view.adoc @@ -2,13 +2,10 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-building-block-view]] - == Building Block View === Whitebox Overall System -[role="arc42help"] -**** A continuación se muestra el diagrama que muestra una vista completa y genérica de lo que será la estructura de la aplicación en su entorno. Se divide en tres principales componentes que mediante interacciones detalladas en los siguientes apartados lograrán una ejecución correcta del sistema. It contains **** @@ -32,12 +29,9 @@ Bloques contenidos:: === Level 2 ==== White Box _WIQ_ -[role="arc42help"] -**** En este apartado pasaré a describir en forma de "white box", bloque que en el diagrama de vista general hacía referencia a la aplicación al completo de manera genérica. En esta vista divisoria de la estructura de la aplicación ya comenzamos a distinguir componentes más concretos. * "WebApp" es el componente con el que interactúa el usuario cuando entra en la aplicación y que trabaja con los demás componentes de este diagrama. "Users Management" se trata del microservicio encargado, como su nombre indica, del manejo de los usuarios, tanto los nuevos como los ya registrados en nuestro sistema. "Question Manager" se trata del conjunto de servicios encargado de la generación de preguntas. -**** image::05_bbv_level02.jpg["Level2"] @@ -56,8 +50,6 @@ Nota: la versión descrita en la imagen superior está abierta a modificaciones ==== White Box _Users Management_ -[role="arc42help"] -**** Este esquema concreta la estructura interna del bloque "Users Management" que se encarga, descrito de manera rápida y locuaz, de gestionar las credenciales, fechas de registro y peticiones de login de los usuarios ya registrados y también de aquellos que traten de registrarse por primera vez en nuestra aplicación. El diagrama se divide en cuatro principales componentes que interactuan de manera secuencial mediante dos principales "caminos" de ejecución teniendo siempre en común el uso de la base de datos para garantizar la persistencia de nuestro sistema. @@ -70,13 +62,9 @@ El diagrama se divide en cuatro principales componentes que interactuan de maner |Database|Se encarga de almacenar información de la aplicación para garantizar la persistencia de la misma (p.e: usuarios, contraseñas, registro histórico de puntuaciones...). |=== -**** - ==== White Box _Question Manager_ -[role="arc42help"] -**** Este segundo esquema trata de describir con mayor hondura el funcionamiento interno del bloque "Question Manager". Esta funcionalidad se divide en dos microservicios y ambos interactúan directamente con la API de WikiData para extraer de este servicio externo la información trascendental y necesaria para producir nuevos interrogantes (preguntas) y nuevas respuestas a los mismos. |=== @@ -84,6 +72,3 @@ Este segundo esquema trata de describir con mayor hondura el funcionamiento inte |Create Service|Se encarga de, gracias a la interacción con la API de WikiData, generar las preguntas que vayan a presentarse al usuario durante el transcurso de la partida en curso. |Answer Service|Servicio encargado de, trabajando de igual manera que el servicio anterior, generar las respuestas (tanto la correcta como las incorrectas) a las preguntas planteadas por el anterior microservicio. |=== - -**** - diff --git a/docs/src/07_deployment_view.adoc b/docs/src/07_deployment_view.adoc index 25a605a5..7b51ab44 100644 --- a/docs/src/07_deployment_view.adoc +++ b/docs/src/07_deployment_view.adoc @@ -4,14 +4,8 @@ ifndef::imagesdir[:imagesdir: ../images] == Deployment View -[role="arc42help"] -**** - === Infrastructura Nivel 1 -[role="arc42help"] -**** - image::07-Deploy-View.png["Vista de despliegue"] Características de calidad:: @@ -28,5 +22,4 @@ Mapeo de bloques de construcción a la infraestructura:: |Client| Navegador con el que interactúa el usuario para hacer uso de la aplicación. |=== - (En desarrollo) \ No newline at end of file diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 751700d5..19ab3859 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -6,15 +6,13 @@ ifndef::imagesdir[:imagesdir: ../images] === Descripción de conceptos ==== Dominio -[role="arc42help"] -**** + * *Dinamismo en temáticas:* En la aplicación, el juego desarrollado te permite contestar a una gran variedad de preguntas específicas de distintas temáticas como años, lugares y autores de todas las distintas áreas existentes como historia, geografía y música entre otras. * *Registro de actividad:* La aplicación permitirá al usuario registrado ver todo su historial de jugadas realizadas, así como los detalles de cada una: fecha en la que se jugó, número de aciertos/fallos, dinero conseguido y tiempo total de finalización. -**** + ==== Experiencia de usuario (UX) -[role="arc42help"] -**** + * *Intefaz usable:* |=== | Facilidad de uso @@ -28,35 +26,31 @@ ifndef::imagesdir[:imagesdir: ../images] |=== * *Inmediata retroalimnetacion:* El usuario verá de forma inmediata si ha acertado o no la pregunta contestada. Así como el historial de jugadas estará actualizado en todo momento. -**** + ==== Seguridad y protección -[role="arc42help"] -**** + * *Control de acceso seguro:* Seguridad en la autenticación del usuario, comprobando que sean correctos los datos introducidos y no dejando entrar en caso contrario. * *Registro de actividad:* La aplicación está hecha para garantizar la protección de los usuarios respecto a las contraseñas, las cuales se encripta. También el historial de jugadas esta protegido ya que cada usuario solo puede ver su propio historial. -**** + ==== "Under-the-hood" -[role="arc42help"] -**** + * *Persistencia:* Tanto los datos del usuario como de las jugadas quedarán almacenados asegurando su integridad y disponilibilidad. * *Mantenibilidad:* El código está escrito de forma clara y legible, se sigue un enfoque modular que permitirá la facilidad en su mantenimiento a la hora de tener que corregir fallos o añadir alguna mejora. * *Extensibilidad:* Aplicación construida de forma que se podrá añadir de una forma sencilla nuevas funcionalidades en el futuro sin afectar en gran manera a partes ya existentes. -**** + ==== Desarrollo -[role="arc42help"] -**** + * *Implementación:* Para la creación de esta aplicación se usará el lenguaje de programación JavaScript, para el front-end se utilizará React, Node.js y la construccion de microservicios para el back-end y MongoDB para la gestion de la base de datos NoSQL. * *Pruebas:* Se llevarán a cabo pruebas unitarias, de integración, de aceptación, de capacidad/rendimiento y de regresión, todas ellas siguiendo los principios FIRST(Fast, Independent, Repeatable, Self-Checking y Timely) para garantizar la ejecución correcta de todas las funcionalidades de la aplicación. -**** + ==== Estilo arquitectonico -[role="arc42help"] -**** + * *Capas:* Se utilizara un diseño basado en capas: presentacion, negocio y persistencia. -**** + === Mapa de conceptos image::08-MindMapConceptosTransversales.png["Mind Map conceptos transversales"]