Full text
DESARROLLO DE UN SISTEMA PARA FACILITAR LAS VISITAS AL PARQUE DE EL CAPRICHO DE MADRID TRABAJO FIN DE GRADO CURSO 2022-2023 AUTOR JORGE SAN FRUTOS IGLESIAS DIRECTOR ANTONIO SARASA CABEZUELO GRADO EN INGENIERÍA DE COMPUTADORES FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID
DEVELOPMENT OF A SYSTEM TO FACILITATE VISITS TO THE CAPRICE PARK IN MADRID FINAL DEGREE PROJECT REPORT IN COMPUTER ENGINEERING AUTHOR JORGE SAN FRUTOS IGLESIAS DIRECTED BY ANTONIO SARASA CABEZUELO FACULTY OF COMPUTER SCIENCE COMPLUTENSE UNIVERSITY OF MADRID JUNE 2023
III DEDICATORIA A todos los familiares y amigos que me han apoyado durante estos años de carrera.
V AGRADECIMIENTOS Lo primero de todo agradecer a mi tutor Antonio Sarasa Cabezuelo por orientarme durante la realización del trabajo, ayudarme dándome consejos y estar disponible en todo momento para las dudas que me iban surgiendo. También agradecer a todos los familiares y amigos que han estado apoyándome y ayudándome durante el trabajo y a lo largo de toda la carrera.
VII RESUMEN El objetivo de este trabajo es facilitar las visitas al parque del Capricho de Madrid a través de una aplicación móvil, en la que se pueda consultar información sobre los distintos lugares e itinerarios del parque. El usuario tendrá acceso a la lista completa de lugares e itinerarios disponibles en el parque, con información detallada, así como la posibilidad de ver su ubicación actual e iniciar una ruta al lugar de interés o al itinerario elegido. Además, se ofrece al usuario registrarse en la aplicación para obtener una mejor experiencia, pudiendo agregar comentarios a los lugares y guardarse los itinerarios que más le gusten. Se ha desarrollado una aplicación móvil para dispositivos Android, en el entorno de Android Studio, que implementa la información que se va guardando en la base de datos a través de un hosting. Palabras clave Parque del Capricho, aplicación móvil, lugar, itinerario, mapa.
XV ÍNDICE DE FIGURAS Figura 1:Diagrama de casos de uso módulo usuario ........................................................... 32 Figura 2: Diagrama de casos de uso módulo información del parque ............................. 33 Figura 3: Diagrama de casos de uso módulo itinerarios ...................................................... 33 Figura 4: Diagrama de casos de uso módulo administrador .............................................. 34 Figura 5: Arquitectura de la aplicación .................................................................................. 57 Figura 6: Modelo E.R base de datos ........................................................................................ 58 Figura 7: Menú lateral ................................................................................................................ 61 Figura 8: Pantalla de inicio ........................................................................................................ 61 Figura 9: Pantalla de registro de un usuario ........................................................................... 62 Figura 10: Pantalla de registro con campos no válidos ....................................................... 62 Figura 11: Fragmento de código del registro de un usuario ................................................ 63 Figura 12: Pantalla de login ...................................................................................................... 64 Figura 13: Pantalla de login con mensaje de error ............................................................... 64 Figura 14: Fragmento de código del login ............................................................................. 64 Figura 15: Fragmento de código del logout .......................................................................... 65 Figura 16: Pantalla de modificar datos del usuario ............................................................... 66 Figura 17: Fragmento de código para modificar datos del usuario .................................. 66 Figura 18: Fragmento de código para eliminar un usuario .................................................. 67 Figura 19: Pantalla del mapa ................................................................................................... 68 Figura 20: Pantalla del mapa mostrando lugar de interés ................................................... 68 Figura 21: Fragmento de código para mostrar los lugares en el mapa ............................ 69 Figura 22: Pantalla del mapa con la ubicación actual del usuario ................................... 69 Figura 23: Fragmento de código para mostrar la ubicación del usuario .......................... 70 Figura 24: Pantalla para mostrar los lugares de interés ........................................................ 70 Figura 25: Fragmento de código para mostrar los lugares .................................................. 71 Figura 26: Buscar lugar ............................................................................................................... 71 Figura 27: Fragmento de código para buscar los lugares ................................................... 72 Figura 28: Fragmento de código para agregar comentarios ............................................. 72 Figura 29: Pantalla para añadir, modificar y eliminar comentarios .................................... 73 Figura 30: Fragmento de código para modificar comentarios .......................................... 74
XVI Figura 31: Fragmento de código para eliminar comentarios ............................................. 74 Figura 32: Pantalla iniciar ruta .................................................................................................. 75 Figura 33: Pantalla mostrar ruta paso a paso ........................................................................ 75 Figura 34: Fragmento de código para iniciar una ruta a un lugar ..................................... 76 Figura 35: Pantalla para visualizar itinerarios .......................................................................... 77 Figura 36: Pantalla para ver los lugares del itinerario............................................................ 77 Figura 37: Fragmento de código para mostrar los itinerarios .............................................. 77 Figura 38: Iniciar itinerario .......................................................................................................... 78 Figura 39: Ruta paso a paso del itinerario .............................................................................. 78 Figura 40: Fragmento de código para iniciar la ruta de un itinerario ................................ 79 Figura 41: Pantalla para añadir un itinerario a favoritos....................................................... 80 Figura 42: Fragmento de código para añadir un itinerario a favoritos .............................. 80 Figura 43: Pantalla para iniciar o eliminar un itinerario de favoritos ................................... 81 Figura 44: Fragmento de código para eliminar un itinerario ............................................... 82 Figura 45: Pantalla itinerario favoritos sin hacer login ........................................................... 83 Figura 46: Pantalla ver itinerario favoritos ............................................................................... 83 Figura 47: Fragmento de código para mostrar los itinerarios favoritos .............................. 83 Figura 48: Pantalla itinerarios administrador ........................................................................... 84 Figura 49: Pantalla para añadir lugares al itinerario ............................................................ 84 Figura 50: Fragmento de código para añadir un itinerario ................................................. 85 Figura 51: Pantalla para acceder a añadir o eliminar un itinerario .................................... 86 Figura 52: Fragmento de código para eliminar un itinerario ............................................... 86 Figura 53: Pantalla para que el administrador elimine a un usuario .................................. 87 Figura 54: Fragmento de código para que el administrador elimine un usuario ............. 88 Figura 55: Pantalla para que el administrador elimine comentarios .................................. 89 Figura 56: Pantalla para añadir, modificar o eliminar un lugar ........................................... 90 Figura 57: Fragmento de código para añadir un lugar ....................................................... 90 Figura 58: Pantalla para acceder a añadir, modificar o eliminar un lugar ....................... 91 Figura 59: Fragmento de código para modificar un lugar .................................................. 92 Figura 60: Fragmento de código para eliminar un lugar ..................................................... 92 Figura 61: Administrador eliminar usuario ............................................................................... 99 Figura 62: Administrador eliminar comentario ..................................................................... 100
XVII Figura 63: Mostrar lugares ........................................................................................................ 101 Figura 64: Gestionar lugares.................................................................................................... 101 Figura 65: Mostrar itinerarios .................................................................................................... 102 Figura 66: Gestionar itinerarios ................................................................................................ 103 Figura 67: Añadir lugar a itinerario ......................................................................................... 103 Figura 68: Login ......................................................................................................................... 104 Figura 69: Registro ..................................................................................................................... 104 Figura 70: Gestionar usuario .................................................................................................... 105 Figura 71: Gestionar comentarios .......................................................................................... 106 Figura 72: Actualizar comentarios .......................................................................................... 106 Figura 73: Ver mapa ................................................................................................................. 107 Figura 74: Mostrar lugar en el mapa ...................................................................................... 107 Figura 75: Iniciar ruta ................................................................................................................ 107 Figura 76: Mostrar lugares ........................................................................................................ 108 Figura 77: Buscar lugar ............................................................................................................. 108 Figura 78: Mostrar itinerarios .................................................................................................... 109 Figura 79: Añadir itinerario a favoritos ................................................................................... 109 Figura 80: Iniciar itinerario ........................................................................................................ 110 Figura 81: Ver ruta paso a paso del itinerario ...................................................................... 110 Figura 82: Mostrar itinerarios favoritos .................................................................................... 111 Figura 83: Eliminar itinerario favorito ...................................................................................... 111
XIX ÍNDICE DE TABLAS Tabla 1: Planificación del trabajo ............................................................................................ 22 Tabla 2: Work planning .............................................................................................................. 26 Tabla 3: Registro de usuario ...................................................................................................... 36 Tabla 4: Login .............................................................................................................................. 37 Tabla 5: Logout ........................................................................................................................... 38 Tabla 6: Modificar datos del usuario ....................................................................................... 39 Tabla 7: Eliminar usuario............................................................................................................. 40 Tabla 8: Mostrar plano del parque .......................................................................................... 41 Tabla 9: Ubicación actual del usuario..................................................................................... 42 Tabla 10: Mostrar lugares de interés ........................................................................................ 42 Tabla 11: Buscar lugar de interés ............................................................................................. 43 Tabla 12: Agregar comentario ................................................................................................. 44 Tabla 13: Modificar comentario ............................................................................................... 45 Tabla 14: Eliminar comentario .................................................................................................. 46 Tabla 15: Iniciar ruta a lugar de interés ................................................................................... 46 Tabla 16: Ver itinerarios .............................................................................................................. 47 Tabla 17: Iniciar itinerario ........................................................................................................... 48 Tabla 18: Añadir itinerario favorito ........................................................................................... 48 Tabla 19: Eliminar itinerario favorito ......................................................................................... 49 Tabla 20: Ver itinerarios favoritos .............................................................................................. 49 Tabla 21: Añadir itinerario .......................................................................................................... 50 Tabla 22: Eliminar itinerario ........................................................................................................ 51 Tabla 23: Eliminar usuario administrador ................................................................................. 52 Tabla 24: Eliminar comentario administrador ......................................................................... 53 Tabla 25: Añadir lugar de interés ............................................................................................. 54 Tabla 26: Modificar lugar de interés ........................................................................................ 55 Tabla 27: Eliminar lugar de interés ............................................................................................ 56
21 Capítulo 1 - Introducción En este apartado se mostrará la motivación que ha llevado a la elección de este proyecto, los objetivos que pretende cubrir y la planificación que se ha llevado a cabo para su realización. 1.1 Motivación El Parque del Capricho de Madrid es un jardín histórico de 14 hectáreas situado en el barrio de Alameda de Osuna, el cual alberga una gran riqueza botánica, escultórica y artística, siendo el único jardín del Romanticismo de la capital. Sin embargo, existen varios inconvenientes que el usuario puede encontrarse, como realizar un recorrido por el parque si no tiene un itinerario que seguir o dirigirse a un lugar de interés en concreto que desea ver. Además, debido al gran número de lugares de interés del parque y para mejorar la experiencia del usuario, se pretende que pueda conocer todos los lugares que están disponibles y acceder a la información detallada de cada lugar en todo momento, sin necesidad de recurrir a los carteles informativos. Por otra parte, para ubicarse en el parque actualmente se tiene que recurrir a un mapa físico para ver la ubicación actual y la de los lugares de interés que se quieren visitar. Por todo esto, se ha desarrollado una aplicación móvil que pretende facilitar la visita de los usuarios proporcionando descripciones detalladas de los lugares e itinerarios disponibles en el parque, así como la posibilidad de mostrar su ubicación en un mapa e iniciar una ruta. Además, también se podrán guardar los itinerarios que más le gusten y poder añadir comentarios en los lugares para contar su experiencia. 1.2 Objetivos El objetivo principal del trabajo es desarrollar una aplicación móvil que mejore y facilite la experiencia del usuario en el parque y le permita conocer más acerca de los lugares que se encuentran en él. Profundizando más en ello los objetivos serían:
22 ▪ Desarrollar una funcionalidad que permita añadir, modificar y eliminar lugares de interés e itinerarios. ▪ Permitir mostrar la ubicación actual y los lugares en el mapa. ▪ Ofrecer la posibilidad de guardar los itinerarios que más le gusten. ▪ Implementar una funcionalidad que permita añadir, modificar y eliminar comentarios a lugares de interés. ▪ Restringir el acceso a ciertas funcionalidades de la aplicación solo a usuarios registrados. ▪ Facilitar el acceso a información acerca de los lugares e itinerarios. ▪ Proporcionar rutas guiadas a lugares e itinerarios. 1.3 Plan de trabajo Para la consecución de los objetivos descritos en el apartado anterior, se ha seguido un plan de trabajo para la realización del proyecto. 1.3.1 Fases del proyecto Previamente a la realización del trabajo, se realizó una planificación en la que se especificaban los requisitos que debía cumplir y los plazos en los que se desarrollaría cada tarea. A continuación, se muestran las distintas fases con sus respectivas fechas de realización. Fase Fechas Investigación y especificación de requisitos. 5 septiembre – 10 octubre Desarrollo de la funcionalidad para la gestión de usuarios. 11 octubre – 31 enero Implementar el módulo de administrador. 1 febrero – 4 marzo Desarrollo del módulo relativo a la información del parque. 5 marzo –10 abril Implementar la funcionalidad para gestionar los itinerarios. 11 abril – 3 mayo Realización de la memoria. 4 mayo – 16 mayo Tabla 1: Planificación del trabajo
23 Fase 1: Investigación y especificación de requisitos: La primera fase se basó en la investigación acerca de las posibles funcionalidades que podía tener la aplicación para facilitar las visitas al parque. Posteriormente se realizó la especificación de los requisitos que debería tener implementada la aplicación. Fase 2: Desarrollo de la funcionalidad para la gestión de usuarios: En esta fase se realizó el modelo entidad relación para implementar la estructura de la base de datos y se incluyó una tabla para los usuarios. Se implementó todo lo relativo al registro y login del usuario. Fase 3: Implementar el módulo de administrador: Se desarrollaron las funcionalidades del administrador: añadir, modificar y eliminar lugares de interés e itinerarios. Además, se añadió la tabla administrador a la base de datos. Fase 4: Desarrollo del módulo relativo a la información del parque: Se implementó todo lo relativo a los lugares: las rutas, los comentarios y la ubicación actual del usuario. También se incluyeron los lugares y los comentarios a la base de datos. Fase 5: Implementar la funcionalidad para gestionar los itinerarios: En esta fase se añadieron los itinerarios y los itinerarios favoritos, incluyéndose las tablas necesarias para almacenar esta información y completando la estructura final de la base de datos. Fase 6: Realización de la memoria: En esta última fase se desarrolló la memoria final del proyecto y se corrigieron pequeños errores en la aplicación. 1.3.2 Organización del trabajo El proyecto se ha llevado a cabo siguiendo una serie de hitos, con varias tareas cada uno y que fueron planificados al inicio de este. Estos hitos se iniciaron en el segundo cuatrimestre y se dividieron de tal forma que cada uno tuviese una duración de un mes. Al acabar se realizaba una reunión para ver las tareas realizadas y planificar la próxima
24 iteración. Y en caso de no poder cumplir los plazos, se realizaba una replanificación del próximo hito. Debido a la mayor carga de asignaturas del primer cuatrimestre, se dividió el trabajo de tal forma que gran parte de este se estructuraría para la segunda mitad del curso. 1.4 Estructura de la memoria La memoria del proyecto se ha organizado en forma de capítulos de la siguiente manera: • Capítulo 1: se describe la motivación del trabajo, los objetivos que se pretenden cumplir, el plan de trabajo que se ha llevado a cabo para cumplirlos y la estructura que tiene la memoria. • Capítulo 2: se muestran otras aplicaciones con funcionalidades similares a las realizadas en este trabajo. • Capítulo 3: se describen todas las tecnologías que se han utilizado para el desarrollo del proyecto. • Capítulo 4: se detallan los tres actores que tiene la aplicación: usuario registrado, usuario sin registrar y administrador. Se presentan los distintos diagramas de caso de uso y los cuatro módulos que tendrá la aplicación: usuario, información del parque, itinerarios y administrador. • Capítulo 5: se explica la arquitectura que tiene la aplicación y el modelo de base de datos utilizado con sus tablas y campos correspondientes. • Capítulo 6: se describen las distintas funcionalidades que tiene la aplicación y el diseño que se ha realizado mostrando con imágenes cada una de las pestañas de la aplicación. • Capítulo 7: se desarrollan las conclusiones del trabajo y posibles mejoras para implementar a la aplicación en el futuro. • Anexo A – Guía de uso: guía para la utilización de cada una de las funcionalidades de la aplicación.
31 3.5 X10hosting [6] X10hosting es un servicio de alojamiento web gratuito que te proporciona los servicios necesarios para crear tu aplicación o página web. Tiene recursos ilimitados en cuanto a ancho de banda y almacenamiento. Además, incluye base de datos PHP y MySQL ilimitado y ofrece un servicio confiable y rápido de manera sencilla. 3.6 PhpMyAdmin [7] PhpMyAdmin es una herramienta de software libre escrita en PHP, para la administración de MySQL a través de páginas utilizando un navegador web de forma sencilla. Admite un gran número de operaciones en MySQL Y MariaDB, tales como administración de bases de datos, tablas, columnas, relaciones o permisos. 3.7 Google Drive [9] Google Drive es un servicio desarrollado por Google donde puedes almacenar y acceder a todos tus archivos y se dispone de 15 GB de espacio gratuito. Sirve para guardar, producir y modificar archivos en línea, compartir archivos y poder acceder a ellos desde cualquier dispositivo. 3.8 Mapbox [2] Mapbox es un proveedor de mapas en línea realizados por encargo para páginas web. Ofrece una gran cantidad de productos y servicios a los desarrolladores para diseñar mapas personalizados y poder incorporar las tecnologías de información geográfica a cualquier aplicación móvil o web. 3.9 Volley [8] Volley es una biblioteca desarrollada por Google para facilitar y agilizar el envío de peticiones de http desde las aplicaciones Android a servidores externos. Ofrece programación automática de solicitudes de red, varias conexiones de red simultáneas y compatibilidad con la priorización de solicitudes.
32 Capítulo 4 - Especificación de requisitos En este capítulo se van a describir los actores y la especificación de los requisitos de la aplicación. 4.1 Actores Los actores de la aplicación son los siguientes: • Usuario registrado: son aquellos usuarios que tienen acceso a todas las funciones que ofrece la aplicación. • Usuario no registrado: son aquellos usuarios que tienen acceso a funciones de la aplicación que no requieran almacenar información, como ver el mapa, iniciar itinerarios o poder ver información de los lugares de interés. • Administrador: es la persona encargada de realizar acciones de mantenimiento sobre la aplicación. Se encargará de eliminar cuentas que hagan un mal uso de la aplicación y de añadir y eliminar los distintos itinerarios. 4.2 Diagramas de casos de uso En esta sección se muestran los diagramas de casos de uso de los cuatro módulos de la aplicación: módulo usuario, como se puede ver en la figura 1, módulo información del parque, que se puede visualizar en la figura 2, módulo itinerarios, como se puede ver en la figura 3 y módulo administrador, que se puede visualizar en la figura 4. Figura 1:Diagrama de casos de uso módulo usuario
33 Figura 2: Diagrama de casos de uso módulo información del parque Figura 3: Diagrama de casos de uso módulo itinerarios
34 4.3 Especificación de requisitos A continuación, se van a describir los casos de uso, para lo cual se han agrupado en distintos módulos funcionales. 1. Gestión de usuarios: • Registro de usuario. • Login. • Logout. • Cambiar datos de un usuario. • Eliminar usuario. 2. Información del parque: • Mostrar plano del parque. • Mostrar ubicación en plano del parque. • Mostrar lugares de interés. • Buscar lugar de interés. • Agregar comentario a lugar de interés. • Modificar comentario a lugar de interés. • Eliminar comentario de lugar de interés. Figura 4: Diagrama de casos de uso módulo administrador
35 • Iniciar ruta a lugar de interés. 3. Gestión de Itinerarios: • Ver itinerarios. • Iniciar itinerario. • Añadir itinerario favorito. • Eliminar itinerario favorito. • Ver itinerarios favoritos. 4. Administrador: • Añadir itinerario. • Eliminar itinerario. • Eliminar usuario. • Eliminar comentario usuario. • Añadir lugar de interés. • Modificar lugar de interés. • Eliminar lugar de interés.
36 4.3.1 Casos de uso de Gestión de usuarios En esta sección se describen los casos de uso del módulo funcional de “Gestión de usuarios”. Requisito Registro de usuario Identificador 1.1. Prioridad Alta. Precondición NA. Descripción Los usuarios se crean una cuenta para poder acceder a un mayor número de contenidos en la aplicación. Entrada Correo electrónico, usuario y contraseña. Salida NA. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción “Perfil” del menú. 2 Se abre una nueva pestaña en la que tendrá que pulsar el botón de “Registrar”. 3 A continuación, en una nueva ventana se pedirán los datos al usuario para poder realizar el registro. 4 El usuario rellena la información requerida y selecciona la opción de “Registrar”. 5 Se valida la información introducida por el usuario. 6 Se vuelve a la pantalla de inicio con el usuario ya registrado correctamente. Postcondición El usuario ha creado una cuenta. Excepciones Paso Acción 5 Si el correo electrónico, el nombre de usuario o la contraseña no cumplen los requisitos de seguridad se mostrará un mensaje de error solicitando que cambie dichos campos. 5 Si el correo electrónico ya esta registrado, se mostrará un mensaje de error informando de ello. Comentarios NA. Actores Usuario sin registrar, Administrador. Tabla 3: Registro de usuario
37 Requisito Login Identificador 1.2. Prioridad Alta. Precondición El usuario tiene que estar registrado previamente. Descripción Los usuarios que están registrados en el sistema pueden iniciar sesión. Entrada Email y contraseña. Salida NA. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción “Perfil” del menú. 2 Se abre una nueva pestaña en la que se pedirán los datos al usuario para poder iniciar sesión. 3 El usuario rellena la información requerida y selecciona la opción de “Login”. 4 Se valida la información introducida por el usuario. 5 Se vuelve a la pantalla de inicio con el usuario logueado correctamente. Postcondición El usuario ha iniciado sesión en la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error si el correo o la contraseña no son correctas. Comentarios NA. Actores Usuario registrado, Administrador. Tabla 4: Login
38 Requisito Logout Identificador 1.3. Prioridad Alta. Precondición El usuario ha tenido que iniciar sesión previamente. Descripción Los usuarios pueden cerrar la sesión en caso de dejar de usar la aplicación o para navegar sin estar registrado. Entrada Nombre de usuario y contraseña. Salida NA. Secuencia normal Paso Acción 1 El usuario se dirige a la ventana de “Perfil” del menú. 2 Presiona sobre el botón de “Logout”. 3 Se cierra la sesión y se vuelve a la pantalla de inicio. Postcondición El usuario ha cerrado sesión. Excepciones Paso Acción 2 Se muestra un mensaje de error si no se ha podido cerrar la sesión. Comentarios NA. Actores Usuario registrado, Administrador. Tabla 5: Logout
39 Requisito Cambiar datos de un usuario Identificador 1.4. Prioridad Media. Precondición El usuario tiene que estar registrado y tener la sesión iniciada. Descripción Los usuarios pueden modificar su información personal. Entrada Nombre de usuario y contraseña. Salida NA. Secuencia normal Paso Acción 1 El usuario se dirige a la ventana “Perfil” del menú. 2 Se abre una nueva pestaña en la que se mostraran los datos para poder modificar los que el usuario desee. 3 El usuario rellena la información requerida y selecciona la opción de “Actualizar”. 4 Se valida la información introducida. 5 Se vuelve a la pantalla de inicio con los datos del usuario ya modificados. Postcondición El usuario ha cambiado su información de usuario. Excepciones Paso Acción 4 Se muestra un mensaje de error si no se ha podido cambiar la información del usuario. Comentarios NA. Actores Usuario registrado. Tabla 6: Modificar datos del usuario
40 Requisito Eliminar usuario Identificador 1.5. Prioridad Media. Precondición El usuario debe estar registrado y haber iniciado sesión. Descripción El usuario podrá borrar su cuenta. Entrada Nombre de usuario y contraseña. Salida NA. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y se selecciona la opción “Perfil” del menú. 2 Pulsa sobre el botón “Eliminar” para borrar la cuenta. 3 Se vuelve a la pantalla de inicio con la cuenta ya eliminada. Postcondición El usuario ha eliminado su cuenta. Excepciones Paso Acción 2 Se muestra un mensaje de error si no se ha podido eliminar la cuenta. Comentarios NA. Actores Usuario registrado. Tabla 7: Eliminar usuario
47 4.3.3 Casos de uso de gestión de itinerarios En esta sección se describen los casos de uso del módulo funcional de “Gestión de itinerarios”. Requisito Ver itinerarios Identificador 3.1. Prioridad Media. Precondición NA. Descripción Se muestra una lista con todos los itinerarios disponibles. Entrada NA. Salida Se muestran los itinerarios del parque. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción “Itinerarios” del menú. 2 Se abre una nueva pestaña en la que se mostrarán los itinerarios disponibles en la aplicación. Postcondición Se muestra al usuario los itinerarios de acuerdo con sus criterios de búsqueda. Excepciones Paso Acción 2 No hay ningún itinerario en la aplicación. Comentarios NA. Actores Usuario sin registrar, usuario registrado. Tabla 16: Ver itinerarios
48 Requisito Iniciar itinerario Identificador 3.2. Prioridad Media. Precondición El itinerario debe existir. Descripción Se inicia el recorrido del itinerario seleccionado. Entrada Nombre del itinerario. Salida Se muestra un mapa con la ruta del itinerario marcada en el mapa. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción “Itinerarios” del menú. 2 Selecciona la opción de “Empezar” desde la lista de itinerarios. 3 Se abre una nueva pestaña en la que se muestra el mapa con el recorrido y los puntos por los que pasará. Postcondición El usuario ha iniciado un itinerario. Excepciones Paso Acción Comentarios NA. Actores Usuario sin registrar, usuario registrado. Tabla 17: Iniciar itinerario Requisito Añadir itinerario favorito Identificador 3.3. Prioridad Media. Precondición El usuario debe estar registrado y el itinerario debe existir. Descripción Los usuarios pueden agregar los itinerarios que más le gustan a una lista con sus favoritos. Entrada Nombre itinerario. Salida NA. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción “Itinerarios” del menú. 2 Accede al itinerario que desea añadir a su lista. 3 El usuario selecciona el botón “Añadir a favoritos”. Postcondición El usuario ha añadido un itinerario a su lista. Excepciones Paso Acción 3 Se muestra un mensaje de error si no se ha podido añadir o ya existe un itinerario favorito con ese nombre. Comentarios NA. Actores Usuario registrado. Tabla 18: Añadir itinerario favorito
49 Requisito Eliminar itinerario favorito Identificador 3.4. Prioridad Media. Precondición Debes estar registrado y el itinerario debe estar en la lista de favoritos. Descripción Los usuarios pueden eliminar un itinerario de su lista. Entrada Nombre del itinerario. Salida NA. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción de “Itinerarios favoritos” del menú. 2 El usuario selecciona el botón “Quitar” del itinerario que desea eliminar. 3 Se vuelve a la pantalla de inicio con el itinerario ya eliminado. Postcondición El usuario ha eliminado un itinerario de su lista. Excepciones Paso Acción 2 Se muestra un mensaje de error si no se ha podido eliminar. Comentarios NA. Actores Usuario registrado. Tabla 19: Eliminar itinerario favorito Requisito Ver itinerarios favoritos Identificador 3.5. Prioridad Media. Precondición El usuario debe estar registrado. Descripción Los usuarios pueden ver una lista de sus itinerarios favoritos. Entrada NA. Salida Lista de itinerarios. Secuencia normal Paso Acción 1 El usuario entra en la aplicación y selecciona la opción de “Itinerarios favoritos” del menú. 2 Se abre una nueva pestaña en la que se ve una lista con todos los itinerarios que ha agregado. Postcondición El usuario ha visto sus itinerarios favoritos. Excepciones Paso Acción Comentarios NA. Actores Usuario registrado. Tabla 20: Ver itinerarios favoritos
50 4.3.4 Casos de uso del administrador En esta sección se describen los casos de uso del módulo funcional de “Administrador”. Requisito Añadir itinerario Identificador 4.1. Prioridad Media. Precondición El administrador debe haber iniciado sesión y el itinerario no debe existir. Descripción El administrador puede añadir un nuevo itinerario a la aplicación. Entrada Nombre e información del itinerario. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Itinerarios” del menú. 2 Seleccionará el botón “+” de Añadir o eliminar itinerarios. 3 Se abre una nueva pestaña en la que se pedirá que indique los puntos del nuevo itinerario. 4 El administrador rellena la información requerida y selecciona la opción de “Añadir”. 5 Se abre una nueva pestaña en la que se pedirá que introduzca el siguiente lugar del itinerario, presione el botón de “Añadir” y a continuación se le pedirá que siga introduciendo lugares o pulse el botón “Finalizar” en caso de haber acabado. Postcondición El administrador ha añadido un nuevo itinerario en la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error si no se ha podido añadir el itinerario. Comentarios NA. Actores Administrador. Tabla 21: Añadir itinerario
51 Requisito Eliminar Itinerario Identificador 4.2. Prioridad Media. Precondición El administrador debe haber iniciado sesión y el itinerario debe existir. Descripción El administrador puede eliminar un itinerario de la aplicación. Entrada Nombre del itinerario. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Itinerarios” del menú. 2 Seleccionará el botón “+” de Añadir o eliminar itinerarios. 3 Se abre una nueva pestaña en la que se pedirá al usuario que introduzca el nombre del itinerario que quiere eliminar. 4 El usuario selecciona el itinerario y selecciona la opción de “Eliminar”. Postcondición El usuario ha eliminado un itinerario de la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error si no existe el nombre del itinerario introducido. Comentarios NA. Actores Administrador. Tabla 22: Eliminar itinerario
52 Requisito Eliminar usuario Identificador 4.3. Prioridad Media. Precondición El administrador debe estar registrado y haber iniciado sesión. Descripción El administrador podrá borrar cuentas que hagan un mal uso de la aplicación. Entrada Nombre de usuario y contraseña del administrador y nombre de usuario del usuario que se va a eliminar. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Perfil” del menú. 2 Se abre una nueva pestaña en la que se pedirá que introduzca el email del usuario que se desea eliminar. 3 El administrador introducirá el nombre del usuario y seleccionará el botón “Eliminar”. 4 Se vuelve a la pantalla de inicio con el usuario ya eliminado. Postcondición El administrador ha eliminado a un usuario. Excepciones Paso Acción 3 Se muestra un mensaje de error si no existe el usuario introducido. Comentarios NA. Actores Administrador. Tabla 23: Eliminar usuario administrador
53 Requisito Eliminar comentario de un usuario Identificador 4.4. Prioridad Baja. Precondición El administrador debe estar registrado y haber iniciado sesión. Descripción El administrador podrá borrar comentarios de un usuario de la aplicación. Entrada Nombre de usuario y comentario que se va a eliminar. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Lugares de interés” del menú. 2 Se abre una nueva pestaña en la que buscara el lugar de interés del que quiera eliminar el comentario. 3 El administrador elegirá un comentario y seleccionará la opción “Eliminar” para quitar el comentario de la aplicación. 4 Se vuelve a la pantalla de inicio con el comentario ya eliminado. Postcondición El administrador ha eliminado el comentario de un usuario. Excepciones Paso Acción 3 Se muestra un mensaje de error si no se ha podido eliminar el comentario. Comentarios NA. Actores Administrador. Tabla 24: Eliminar comentario administrador
54 Requisito Añadir lugar de interés Identificador 4.5. Prioridad Media. Precondición El administrador debe haber iniciado sesión y el lugar de interés no existir ya. Descripción El administrador puede añadir un nuevo lugar de interés a la aplicación. Entrada Nombre e información del lugar de interés. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Lugares de interés” del menú. 2 Seleccionará el botón “+” de Añadir, actualizar o eliminar lugares. 3 Se abre una nueva pestaña en la que se pedirá que introduzca los datos del lugar de interés. 4 El administrador rellena la información requerida y selecciona la opción de “Añadir”. Postcondición El administrador ha añadido un nuevo lugar de interés a la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error indicando que no se podido añadir el lugar. Comentarios NA. Actores Administrador. Tabla 25: Añadir lugar de interés
55 Requisito Modificar lugar de interés Identificador 4.6. Prioridad Baja. Precondición El administrador debe haber iniciado sesión y el lugar exista ya. Descripción El administrador puede modificar un lugar de interés de la aplicación. Entrada Nombre del lugar de interés. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Lugares de interés” del menú. 2 Seleccionará el botón “+” de Añadir, actualizar o eliminar lugares. 3 Se abre una nueva pestaña en la que se pedirá que introduzca los datos que desea modificar. 4 El administrador rellena la información requerida y selecciona la opción de “Modificar”. Postcondición El administrador modificado un lugar de interés de la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error indicando que no se podido modificar el lugar. Comentarios NA. Actores Administrador. Tabla 26: Modificar lugar de interés
56 Requisito Eliminar lugar de interés Identificador 4.7. Prioridad Media. Precondición El administrador debe haber iniciado sesión y el lugar de interés debe existir. Descripción El administrador puede eliminar un lugar de la aplicación. Entrada Nombre del lugar de interés. Salida NA. Secuencia normal Paso Acción 1 El administrador entra en la aplicación y selecciona la opción de “Lugares de interés” del menú. 2 Seleccionará el botón “+” de Añadir, actualizar o eliminar lugares. 3 Se abre una nueva pestaña en la que se pedirá al usuario que introduzca el nombre del lugar que quiere eliminar. 4 El administrador selecciona la opción de “Eliminar”. Postcondición El usuario ha eliminado un lugar de interés de la aplicación. Excepciones Paso Acción 4 Se muestra un mensaje de error si el nombre del lugar introducido no existe. Comentarios NA. Actores Administrador. Tabla 27: Eliminar lugar de interés
63 Figura 11: Fragmento de código del registro de un usuario 6.1.2 Login Si el usuario se ha registrado previamente podrá iniciar sesión en la aplicación, en caso contrario deberá registrarse para poder hacerlo. Para acceder a la pantalla de login deberá situarse en el menú lateral y seleccionar la opción de perfil, se le mostrará una ventana como la de la figura 12. Introducirá su email y contraseña y presionará el botón de login, en caso de no ser correcta se le mostrará un mensaje de error indicándole que el email o la contraseña no son válidas, tal como se puede ver en la figura 13. Se realiza una petición a la API con los datos para comprobar si el usuario esta registrado en la base de datos, tal como se muestra en el fragmento de código de la figura 14, se le redirigirá a la pantalla de inicio y se le mostrará un mensaje de bienvenida.
64 Figura 12: Pantalla de login Figura 13: Pantalla de login con mensaje de error Figura 14: Fragmento de código del login
65 6.1.3 Logout En caso de haber iniciado sesión previamente, el usuario podrá cerrarla. El usuario deberá dirigirse al menú lateral, seleccionar la opción de perfil y pulsar sobre el botón logout. Se borrarán los datos de sesión del usuario, tal como se muestra en el fragmento de código de la figura 15. Si se ha podido cerrar la sesión se le redirigirá a la pantalla de inicio y se le mostrará un mensaje de despedida. 6.1.4 Modificar datos El usuario deberá haber iniciado sesión previamente para poder actualizar su información. Se tendrá que situar en el menú lateral, seleccionar la opción de perfil, se le mostrará una ventana como la de la figura 16, rellenará los campos de nombre de usuario y contraseña cambiados y pulsará sobre el botón de actualizar. Se realizará una petición a la API para modificar los campos en la base de datos, tal como se muestra en el fragmento de código de la figura 17. Si se han modificado los campos correctamente se le redirigirá a la pantalla de inicio y se le mostrará un mensaje informándole, en caso contrario se le mostrará un mensaje de error. Figura 15: Fragmento de código del logout
66 Figura 16: Pantalla de modificar datos del usuario Figura 17: Fragmento de código para modificar datos del usuario
67 6.1.5 Eliminar cuenta Para poder eliminar la cuenta el usuario deberá estar registrado previamente en la aplicación. Se tendrá que situar en el menú lateral, seleccionar la opción de perfil y pulsar sobre el botón de eliminar. Se borra toda la información del usuario de la base de datos, tal como se muestra en la figura 18. Si se ha podido eliminar al usuario se le redirigirá a la pantalla de inicio y se le mostrará un mensaje de eliminado correctamente. Figura 18: Fragmento de código para eliminar un usuario
68 6.2 Módulo de información del parque 6.2.1 Mostrar plano del parque El usuario podrá ver el plano del parque dirigiéndose al menú lateral y seleccionando la opción de mapa. Es un mapa interactivo que podrá ampliar y reducir e ir moviéndose por los distintos lugares mostrados con un icono de color rojo, tal como se muestra en la figura 19, sobre los iconos podrá pulsar y visualizar el nombre del lugar y una imagen, como se puede ver en la figura 20. Se hace uso de la Api de Mapbox para cargar el mapa, visualizar la ventana de los lugares al pulsar sobre las distintas ubicaciones y obtener la imagen con la librería Picasso, tal como se muestra en el fragmento de código de la figura 21. Figura 19: Pantalla del mapa Figura 20: Pantalla del mapa mostrando lugar de interés
69 Figura 21: Fragmento de código para mostrar los lugares en el mapa 6.2.2 Mostrar ubicación en plano del parque Para poder mostrar la ubicación en tiempo real el usuario deberá activar previamente la localización GPS. Se tendrá que dirigir al menú lateral y seleccionar la opción de mapa y ahí se mostrará su ubicación actual, tal como se muestra en la figura 22. Para obtener y mostrar la ubicación del usuario se ha utilizado la Api de Mapbox, como se puede ver en el fragmento de código de la figura 23. Figura 22: Pantalla del mapa con la ubicación actual del usuario
70 Figura 23: Fragmento de código para mostrar la ubicación del usuario 6.2.3 Mostrar lugares de interés El usuario podrá visualizar toda la información relativa a los lugares dirigiéndose al menú lateral y seleccionado la opción de lugares de interés. Se le mostrará una lista con todos los lugares que se encuentran en el parque con su nombre, descripción, imagen y los comentarios, como se muestra en la figura 24. Se hace una llamada a la API para obtener todos los lugares con sus datos respectivos de la base de datos y para visualizarlos se ha utilizado un recyclerView, tal como se muestra en la figura 25. Figura 24: Pantalla para mostrar los lugares de interés
71 Figura 25: Fragmento de código para mostrar los lugares 6.2.4 Buscar lugar de interés Se podrá buscar un lugar filtrando por su nombre. Para ello el usuario deberá dirigirse al menú lateral y seleccionar la opción de lugares de interés. En la parte superior, deberá presionar el icono de la lupa y a la derecha deberá introducir el nombre del lugar que desea buscar y entonces se mostrará el lugar seleccionado, tal como se muestra en la figura 26. Para filtrar por nombre del lugar en la recyclerView se ha utilizado el widget SearchView, tal como se muestra en la figura 27. Figura 26: Buscar lugar
72 Figura 27: Fragmento de código para buscar los lugares 6.2.5 Agregar comentario a lugar de interés En caso de estar registrados en la aplicación, los usuarios podrán añadir comentarios sobre los distintos lugares del parque. Tendrá que ir al menú lateral y seleccionar la opción de lugares de interés. Buscará el lugar sobre el que desea añadir el comentario y pulsará sobre saber más. Se dirigirá a la sección de comentarios y sobre el cuadro de texto introducirá la opinión y presionará el botón de añadir. Se realizará una petición a la API para agregar un nuevo comentario de un usuario a la base de datos, tal como se muestra en la figura 28. Se le mostrará un mensaje indicando que el comentario se ha podido añadir al lugar. Figura 28: Fragmento de código para agregar comentarios
79 Figura 40: Fragmento de código para iniciar la ruta de un itinerario 6.3.3 Añadir itinerario favorito El usuario debe haberse registrado previamente para poder añadir los itinerarios que más le gusten a su lista de favoritos en la aplicación. Se dirigirá al menú lateral, tendrá que seleccionar la opción de itinerarios y pulsar sobre el botón añadir a favoritos al final del itinerario, tal como se muestra en la figura 41. Para añadir un itinerario a favorito se hace una petición a la Api para guardarlo en la base de datos, tal como se muestra en la figura 42. Finalmente, se le mostrará un mensaje indicándole que el itinerario se ha añadido a favoritos o un mensaje de error informándole de que ya existe un itinerario favorito con ese nombre.
80 Figura 41: Pantalla para añadir un itinerario a favoritos Figura 42: Fragmento de código para añadir un itinerario a favoritos
81 6.3.4 Eliminar itinerario favorito Se podrán eliminar itinerarios favoritos de tu lista, si el usuario se ha registrado previamente en la aplicación. Se dirigirá al menú lateral, tendrá que seleccionar la opción de itinerarios favoritos y pulsar sobre el botón quitar situado al final, del itinerario que quiera eliminar, tal como se muestra en la figura 43. Para eliminar un itinerario a favorito se hace una petición a la Api para borrarlo de la base de datos, tal como se muestra en la figura 44. Se le mostrará un mensaje indicándole que el itinerario se ha eliminado de favoritos. Figura 43: Pantalla para iniciar o eliminar un itinerario de favoritos
82 Figura 44: Fragmento de código para eliminar un itinerario 6.3.5 Ver itinerarios favoritos El usuario puede visualizar toda la información relativa a los itinerarios favoritos dirigiéndose al menú lateral y seleccionado la opción de itinerarios favoritos. En caso de no haber iniciado se le mostrará un mensaje y un enlace para que se logue, tal como se muestra en la figura 45. Si el usuario ha iniciado sesión se le mostrará una lista con todos los itinerarios que ha añadido a su lista con el nombre que le ha puesto al itinerario favorito, nombre del itinerario, una breve descripción y los lugares que forman el itinerario con una imagen y su descripción, tal como se muestra en la figura 46. Se hace una llamada a la API para obtener todos los itinerarios favoritos con su información respectiva de la base de datos y para visualizarlos se ha utilizado un recyclerView, tal como se muestra en la figura 47.
83 Figura 47: Fragmento de código para mostrar los itinerarios favoritos Figura 45: Pantalla itinerario favoritos sin hacer login Figura 46: Pantalla ver itinerario favoritos
84 6.4 Administrador 6.4.1 Añadir itinerario El usuario administrador podrá añadir nuevos itinerarios a la aplicación, para ello debe haber iniciado sesión previamente. Se dirigirá al menú lateral, tendrá que seleccionar la opción de itinerarios y pulsar sobre el botón “+” en la parte superior y se le redirigirá a otra pantalla donde deberá rellenar los datos del itinerario, tal como se muestra en la figura 48. A continuación, pulsará sobre el botón añadir y se redirigirá a otra pantalla para que siga introduciendo lugares que componen el itinerario pulsando el botón de añadir y cuando haya terminado de añadir todos los lugares pulsará sobre el botón finalizar, tal como se muestra en la figura 49. Para añadir un itinerario se hace una petición a la Api para guardarlo en la base de datos, tal como se muestra en la figura 50. Finalmente, se le redirigirá a la pantalla de itinerarios y se mostrará un mensaje indicándole que se ha añadido el itinerario. Figura 49: Pantalla para añadir lugares al itinerario Figura 48: Pantalla itinerarios administrador
85 Figura 50: Fragmento de código para añadir un itinerario 6.4.2 Eliminar itinerario El usuario debe ser administrador y haberse registrado previamente para disponer de esta funcionalidad. Se dirigirá al menú lateral, tendrá que seleccionar la opción de itinerarios y se le muestra una pantalla como la de la figura 51, pulsará sobre el botón “+” en la parte superior y se le redirigirá a otra pantalla donde deberá rellenar el nombre del itinerario que desea borrar. Finalmente, pulsará sobre el botón eliminar para quitarlo de la lista de itinerarios y si el nombre del itinerario no existe, se le mostrará un mensaje de error informándole de ello, en caso contrario, se mostrará un mensaje indicándole que se ha eliminado el itinerario. Para eliminar un itinerario se hace una petición a la Api para eliminarlo de la base de datos, tal como se muestra en la figura 52.
86 Figura 51: Pantalla para acceder a añadir o eliminar un itinerario Figura 52: Fragmento de código para eliminar un itinerario
87 6.4.3 Eliminar usuario El usuario administrador podrá eliminar usuarios de la aplicación, para ello debe haber iniciado sesión previamente. Se dirigirá al menú lateral, tendrá que seleccionar la opción de perfil e introducir el correo del usuario que desea eliminar en la parte inferior de la pantalla, tal como se muestra en la figura 53. Para eliminar un usuario de la aplicación se hace una petición a la Api para borrarlo de la base de datos, tal como se muestra en la figura 54. A continuación, pulsará sobre el botón eliminar y se redirigirá a la pantalla de inicio y se mostrará un mensaje de usuario eliminado o en caso de que el usuario no exista, se le mostrará un mensaje de error. Figura 53: Pantalla para que el administrador elimine a un usuario
88 6.4.4 Eliminar comentario de usuario El usuario debe ser administrador y haberse registrado previamente para poder borrar comentarios de otros usuarios. Se dirigirá al menú lateral y tendrá que seleccionar la opción de lugares de interés. Buscará el lugar sobre el que desea borrar el comentario y pulsará sobre saber más, tal como se puede ver en la figura 55. Se situará en la sección de comentarios y pulsará sobre el botón eliminar que se encuentra debajo del comentario que desea borrar. Se mostrará un mensaje indicando que el comentario se ha eliminado. Figura 54: Fragmento de código para que el administrador elimine un usuario
95 Conclusions and future work Conclusions The project has been carried out with the aim of facilitating visits to the Caprice Park in Madrid, so that users who visit the park can have a better experience enjoying their walks around. To achieve this, a mobile application has been created to obtain information about all the places of interest and itineraries in the park easily from anywhere. In addition, it has a map through which you can see the different places of interest are located and start both routes to places and itineraries. You will also have the possibility of registering in the application to enjoy all the functionalities and add comments to the places and save the itineraries you like the most. Future work The objectives and requirements marked at the beginning of this project has been done, however there are new features that could be implemented to improve the application in the future: • Show every point of interest in the park: it would be important that the map shows not only the places of interest but also where the toilets are and access to the park. • Add comments to the itineraries: currently, only registered users are allowed to add visit opinions, a new feature could be added with comments on the itineraries. • Improve information on itineraries and places: the information that can be displayed is brief description of the place and an image of it, could show more information and several images can be settled to know better that location. • Add images and comments: registered users can add not only comments but also photographs and evaluations of the garden.
97 Bibliografía [1] Android Studio: https://developer.android.com/studio [2] Mapbox: https://www.mapbox.com/ [3] Xampp: https://www.apachefriends.org/es/index.html [4] Visual Studio Code: https://code.visualstudio.com/ [5] Picasso: https://desarrollador-android.com/librerias/square/picasso/ [6] X10hosting: https://x10hosting.com/ [7] PhpMyAdmin: https://www.phpmyadmin.net/ [8] Volley: https://developer.android.com/training/volley?hl=es-419 [9] Google Drive: https://www.google.com/intl/es_es/drive/ [10] Zoo Aquarium Madrid: https://play.google.com/store/apps/details?id=com.mobail.zoo&pli=1 [11] Parques Nacionales: https://play.google.com/store/apps/details?id=es.ign.parquesnacionales&hl=es&gl=US [12] Parques y jardines de Madrid: https://play.google.com/store/apps/details?id=com.parques_jardines_madrid [13] Traductor: https://www.linguee.es/ [14] Instalación Mapbox: https://docs.mapbox.com/android/maps/guides/install/ [15] Markers Mapbox: https://docs.mapbox.com/android/maps/examples/defaultpoint-annotation/ [16] Navegación Mapbox: https://docs.mapbox.com/android/navigation/examples/turn-by-turn-experience/ [17] Google Maps: https://developers.google.com/maps [18] JSON: https://es.wikipedia.org/wiki/JSON [19] PHP: https://www.php.net/manual/es/index.php [20] SQL: https://es.wikipedia.org/wiki/SQL [21] HTTP: https://developer.mozilla.org/es/docs/Web/HTTP [22] Kotlin: https://kotlinlang.org/ [23] Java: https://www.java.com/es/
98 [24] Fragments: https://developer.android.com/guide/components/fragments?hl=es419 [25] Permisos ubicación: https://developer.android.com/training/location/permissions?hl=es-419 [26] RecyclerView: https://developer.android.com/guide/topics/ui/layout/recyclerview?hl=es-419 [27]SharedPreferences: https://developer.android.com/training/data-storage/sharedpreferences?hl=es-419
99 Anexo A: Guía de Uso En este anexo se explicará cómo usar la aplicación, en primer lugar, para usuarios administradores y finalmente para los demás usuarios. A.1 Eliminar Usuario La figura 61 muestra la pantalla que verá el administrador tras haber iniciado sesión y haberse dirigido a la opción de perfil del menú lateral. Para eliminar a un usuario de la aplicación tendrá que introducir el email del usuario y presionar sobre el botón eliminar. Figura 61: Administrador eliminar usuario
100 A.2 Eliminar comentario de un usuario Para eliminar el comentario de cualquier usuario, el administrador deberá dirigirse a la opción lugares del menú lateral y buscar el lugar sobre el que desea borrar un comentario. A continuación, presionará sobre el desplegable de saber más y ahí seleccionará el botón eliminar situado debajo de cada comentario, tal como se muestra en la figura 62. Figura 62: Administrador eliminar comentario
101 A.3 Gestión de lugares Para añadir lugares al parque, el administrador deberá seleccionar la opción de lugares del menú lateral y pulsar sobre el botón + a la derecha de añadir, modificar o eliminar lugares, tal como se muestra en la figura 63. Se abrirá una nueva ventana, tal como se muestra en la figura 64, en la que deberá introducir el nombre del lugar, una descripción, el nombre de la imagen, la longitud, la latitud del lugar y pulsar sobre el botón añadir, en el caso de querer agregar un nuevo lugar o rellenar todos los campos y pulsar sobre el botón modificar, en el caso de querer actualizarlo o introducir el nombre del lugar y pulsar sobre el botón eliminar, en el caso de querer borrarlo. Figura 63: Mostrar lugares Figura 64: Gestionar lugares
102 A.4 Gestión de itinerarios Para añadir itinerarios, el administrador deberá seleccionar la opción de itinerarios del menú lateral y pulsar sobre el botón + a la derecha de añadir o eliminar itinerarios, tal como se muestra en la figura 65. Se abrirá una nueva ventana, tal como se muestra en la figura 66, en la que en el caso de querer eliminar un itinerario deberá introducir el nombre del itinerario y pulsar sobre el botón de eliminar. Para añadir un nuevo itinerario deberá introducir el nombre del itinerario, el primer lugar del itinerario y una breve descripción del itinerario, a continuación, seleccionar el botón de añadir y se abrirá una nueva ventana como se muestra en la figura 67, para que siga introduciendo lugares que desea agregar a ese itinerario, esa ventana se seguirá mostrando para que siga introduciendo lugares hasta que haya seleccionado todos lugares y pulse el botón de finalizar. Figura 65: Mostrar itinerarios
103 A.5 Registro y Login Para registrarse en la aplicación y poder así disfrutar de todas las funcionalidades, deberá seleccionar la opción perfil del menú lateral, se mostrará una pantalla como la de la figura 68. Pulsará sobre el botón registrar situado en la parte inferior y se abrirá una nueva ventana, tal como se muestra en la figura 69, donde deberá introducir su email, un nombre de usuario y una contraseña y pulsar sobre el botón registrar. Para iniciar sesión en la aplicación deberá seleccionar la opción perfil del menú lateral, se mostrará una ventana como la de la figura 68. Introducirá su email y contraseña y pulsará sobre el botón de login. Figura 67: Añadir lugar a itinerario Figura 66: Gestionar itinerarios
104 A.6 Logout, modificación datos y eliminar usuario Para cerrar sesión, actualizar sus datos o eliminar su cuenta, el usuario deberá seleccionar la opción de perfil del menú lateral y se mostrará una pantalla como la de la figura 70. En caso de querer cerrar sesión pulsará sobre el botón de logout, en caso de querer eliminar su cuenta seleccionará el botón de eliminar y, por último, en caso de querer modificar sus datos introducirá su nuevo nombre de usuario y contraseña y pulsará sobre el botón de actualizar. Figura 68: Login Figura 69: Registro
111 Figura 82: Mostrar itinerarios favoritos Figura 83: Eliminar itinerario favorito