diff --git a/docs/01_introduction_and_goals.adoc b/docs/01_introduction_and_goals.adoc index e60256e..249a563 100644 --- a/docs/01_introduction_and_goals.adoc +++ b/docs/01_introduction_and_goals.adoc @@ -1,14 +1,12 @@ [[section-introduction-and-goals]] == Introduction and Goals -[role="arc42help"] La petición del ayuntamiento de la ciudad de Bruselas es una aplicación que permita a sus ciudadanos tener un mapa donde puedan colocar marcadores en distintos sitios. Actualmente solo permite marcar sitios con diferentes tipos de marcadores dependiendo del lugar, los lugares posibles serán bares, restaurantes, monumentos, paisajes o tiendas. Los ciudadanos podrán crear sus propios mapas personalizados y compartirlos con sus amigos. === Requirements Overview -[role="arc42help"] ==== Requisitos de alto nivel: * La aplicación permitirá a los usuarios visualizar un mapa donde estos podrán añadir diferentes marcadores. * Permitirá añadir diferentes tipos de marcadores dependiendo de si este se trata de un restaurante, un bar, un monumento, un paisaje o una tienda. diff --git a/docs/02_architecture_constraints.adoc b/docs/02_architecture_constraints.adoc index 2c9327d..3be62f8 100644 --- a/docs/02_architecture_constraints.adoc +++ b/docs/02_architecture_constraints.adoc @@ -7,8 +7,7 @@ |Restricción|Explicación | _SOLID_ | _Nos permitirá almacenar los datos de los usuarios de forma segura en almacenes de datos descentralizados llamados Pods. Los usuarios podrán aceptar, o bien rechazar, el acceso a sus datos por parte de otros usuarios._ | _Github_ | _En él tendremos un repositorio remoto para el desarrollo del proyecto. Nos facilitará la gestión de las distintas tareas pendientes por realizar, así como llevar un control de versiones._ -| _React_ | _La utilizaremos para la construcción del front-end del sistema._ -| _Node.js_ | _Lo utilizaremos para la construcción del back-end del sistema._ +| _Arc42_ | _Seguiremos la plantilla Arc42 para la realización de la documentación del sistema._ |=== === Organización @@ -26,11 +25,9 @@ === Normas [options="header",cols="1,2"] |=== -|Restricción|Explicación +|Tecnología|Explicación | _Lenguaje_ | _Todos los integrantes del grupo nos esforzaremos en aprender a utilizar de forma adecuada los diferentes lenguajes de programación citados a utilizar en el desarrollo del sistema._ | _Código_ | _Nos esforzaremos en mantener el código limpio y bien documentado, de modo que este sea más fácil de entender y mantener._ -| _Arc42_ | _Como decisión impuesta seguiremos la plantilla Arc42 para la realización de la documentación del sistema._ | _Accesibilidad_ | _El sistema debe ser usable y accesible por cualquier usuario._ | _Protección de datos_ | _Debemos tener especial cuidado en el trato de los datos sensibles de los usuarios de nuestra aplicación._ -| _SOLID_ | _Como decisión impuesta seguiremos las especificaciones Solid._ |=== diff --git a/docs/05_building_block_view.adoc b/docs/05_building_block_view.adoc index e6c761d..681e4c2 100644 --- a/docs/05_building_block_view.adoc +++ b/docs/05_building_block_view.adoc @@ -6,52 +6,46 @@ Motivación:: A continuación, se pretende dar una visión general del sistema por medio de una abstracción de su estructura de modo que sea fácil de entender. -Building Blocks contenidos:: -En el sistema interactúan dos tipos de actores: - - Usario: Utiliza el sistema (mediante el uso de la vista 'usuario' del sistema). Es el propietario de su POD. - - Administrador: Se encarga de administrar el sistema (mediante el uso de la vista 'administrador' del sistema). - -Caja blanca actores del sistema:: -[options="header",cols="1,2"] -|=== -|Nombre|Responsabilidad -| _Usuario_ | _Utiliza el sistema (mediante el uso de la vista 'usuario' del sistema). Es el propietario de su POD._ -| _Administrador_ | _Se encarga de administrar el sistema (mediante el uso de la vista 'administrador' del sistema)._ -|=== - === Level 1 -Caja blanca LoMap:: +Caja blanca de LoMap:: [options="header",cols="1,2"] |=== |Nombre|Responsabilidad -| _Back-end_ | _Contiene todo lo necesario para que la aplicación funcione adecuadamante. Se comunica con el Front-end para obtener aquellos datos proporcionados por el usuario, los procesa y realiza las operaciones pertinentes._ -| _Front-end_ | _Contiene las interfaces de usuario. Permite que los usuarios finales de la aplicación puedan interactuar con esta. Además, a través de ella se recopilan datos del usuario._ -| _POD_ | _Almacén de datos para cada usuario de la aplicación. Es externo al sistema._ +| _Cliente_ | _Cliente final de la aplicación._ +| _LoMap_ | _El sistema como tal. Los clientes interactúan con el._ +| _POD_ | _Almacén de datos para cada cliente de la aplicación. El cliente posee el control absoluto de sus datos privados. Es externo al sistema._ +| _OpenStreetMaps API_ | _Nos permite generar los mapas en la aplicación._ |=== === Level 2 -Caja blanca Back-end:: +LoMap:: +En este apartado profundizamos en el sistema LoMap. [options="header",cols="1,2"] |=== |Nombre|Responsabilidad -| _..._ | _..._ +| _Back-end_ | _Contiene todo lo necesario para que la aplicación funcione adecuadamante. Se comunica con el Front-end para obtener aquellos datos proporcionados por el cliente, los procesa y realiza las operaciones comentadas más adelante._ +| _Front-end_ | _Contiene las interfaces de usuario. Permite que los clientes finales de la aplicación puedan interactuar con esta. Además, a través de ella se recopilan datos del cliente._ |=== === Level 3 -Caja blanca Front-end:: +Back-end:: +En este apartado profundizamos en el backend (restapi) del sistema, esta se comunica con la bbdd y los pods de Solid. [options="header",cols="1,2"] |=== |Nombre|Responsabilidad -| _MainMenu_ | _Página inicial (menú principal) de la aplicación. En esta se muestran enlaces a otras páginas de la app para redireccionar al usuario._ -| _WelcomePage_ | _Página de bienvenida a la aplicación. En esta se muestra el mapa y enlaces a otras páginas de la app para redireccionar al usuario._ -| _LoginPage_ | _Permite al usuario de la aplicación iniciar sesión con su usuario y contraseña._ -| _SignupPage_ | _Permite a un nuevo usuario de la aplicación registrarse con su usuario, email y contraseña._ +| _Api_ | _Se comunica con la base de datos y los pods._ |=== === Level 4 -Caja blanca POD:: +Front-end:: +En este apartado profundizamos en el frontend (webapp) del sistema, con la cual el cliente de la aplicación interactúa. [options="header",cols="1,2"] |=== |Nombre|Responsabilidad -| _..._ | _..._ +| _Página inicial_ | _Menú principal de la aplicación. En esta se muestran enlaces a otras páginas de la app para redireccionar al cliente {Inicio, Documentación, Sobre Nosotros y Perfil}._ +| _Página de bienvenida_ | _En esta se muestra el mapa del cliente, en el caso de que tenga la sesión iniciada, o información de la aplicación y un enlace a Solid. Además, en el primer caso el usuario puede crear en la vista nuevos marcados y comentarios._ +| _Documentación_ | _Muestra la documentación de la app._ +| _Sobre Nosotros_ | _Página en la que le hacemos una breve presentación al cliente de la app._ +| _Inicio de sesión_ | _Permite al cliente de la aplicación dirigirse a la página de Inrupt para iniciar sesión o registrarse._ +| _Perfil_ | _Página del cliente con sesión iniciada donde puede ver parte de sus datos almacenados en el pod y tiene acceso a su mapa, sus marcadores y a la vista para buscar amigos._ |===