TrackYourTrails: aplicación web para la geolocalización de recorridos
Fecha
2021Resumen
Debido al uso generalizado de aplicaciones móviles nativas para el registro de
tracking GPS, en este trabajo se desarrolla una aplicación web que realiza estas
funciones. El interés reside en la dificultad de las aplicaciones web para trabajar
en segundo plano, por lo que, para solventar este problema, se utilizan Service
Workers, una tecnología que permite programar aplicaciones de tipo frontend
desacopladas de la visualización.
La aplicación desarrollada está conformada por un sistema distribuido con
tres servicios. Una base de datos no relacional en la nube, MongoDB Atlas. Un
servidor NodeJS con una API desarrollada con Koa mediante una arquitectura
de tres capas. Y una aplicación cliente de VueJS desarrollada con el framework
Quasar. Los dos últimos servicios se han construido como contenedores de Docker que se despliegan automáticamente en Heroku.
Para el desarrollo del proyecto se ha hecho uso de las facilidades y herramientas que ofrece GitHub. Tanto para el desarrollo y seguimiento del trabajo como
para la integración y el despliegue continuo. There are many mobile native applications for registering GPS tracking, but not
so many implemented as a web application. In this project, a web application
with these capabilities has been developed. The main interest in this project resides in the difficulty to implement background processes in web applications
while the devices are locked (no frontend running). A web technology called Service Workers are used to solve this problem. This technology allows you to develop
frontend applications disconnected from visualization functionalities.
The developed application consists of a distributed system with three services:
a non-relational cloud database, MongoDB Atlas; a NodeJS server with a Rest API
implemented with Koa and a three-tier architecture; and a VueJS client application which has been developed in the Quasar framework. The last two services
have been built as Docker containers that are automatically deployed to Heroku.
GitHub facilities and related tools have been used to manage the project. Code versioning, project management and issues as well as continuous integration
and continuous deployment were managed with these tools.