Publication:
QFlow: desarrollo de aplicaciones para la gestión de colas

Research Projects
Organizational Units
Journal Issue
Abstract
Los espacios ocupados por las colas presenciales suponen una problemática en la actualidad que se plantea solucionar a partir de este Trabajo Fin de Grado. Para ello, se ha realizado un estudio de mercado de las alternativas actuales, además de la aplicación de una base matemática sobre teoría de colas y una utilización de metodologías ágiles, concretamente Scrum. Como resultado del proyecto se han generado dos aplicaciones, una orientada para usuarios y otra para creadores. Ambas han sido desarrolladas para Android, utilizando como lenguaje de programación Kotlin, debido a sus ventajas sobre Java. Para su implementación, se ha aplicado la Arquitectura Clean, junto al patrón Model View ViewModel, además de añadir herramientas relacionadas con la conexión con los servidores, lecturas de códigos QR, sistemas de persistencia encriptada e inyección de dependencias. Estas aplicaciones quedan respaldadas por un servidor desarrollado en Spring Boot, que aplica la misma arquitectura. Su implementación se ha realizado siguiendo las buenas prácticas del desarrollo guiado por test, y su despliegue ha sido llevado a cabo mediante la plataforma Heroku, aportando también una documentación realizada gracias a la herramienta Swagger.
In this End of Grade Work a solution arises to the problem of the spaces occupied by the face-toface queues of today. To this end, a market research of current alternatives, a mathematical basis on queue theory and the use of agile methodologies, specifically Scrum, have been applied. We have developed two applications, one user-oriented and one for creators. Both have been developed for Android, using Kotlin as the main programming language, thanks to its advantages over Java. For their implementation, the Clean Architecture was applied, together with the Model View ViewModel pattern. In addition to adding tools related to server connection, QR code reading, encrypted persistence systems and dependency injection. These applications are backed by a server developed in Spring Boot, which applies the same architecture. Its implementation has been carried out following the best practices of testdriven development, and its deployment has been done through the Heroku platform. Documentation is also provided using the Swagger tool.
Description
Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2019/2020
Unesco subjects
Keywords
Citation