Arquitectura - TeamSecurityFirst/GeoGuardianWiki GitHub Wiki

Arquitectura

Originalmente la arquitectura de GeoGuardian era la siguiente: Imagen de original de arquitectura de la App GeoGuardian

Cabe considerar que para la mayoría de integrantes del grupo, GeoGuardian es nuestro primer proyecto para el ecosistema Android. Según hemos ido desarrollando nuestra aplicación, hemos ido trabajando por primera vez con las tecnologías que queríamos utilizar, viendo algunas de sus posibilidades y limitaciones; considerando para cada una su validez para nuestro proyecto. Esto ha provocado que hayamos modificado algunos de los elementos ideados en un inicio.

Por lo tanto, a continuación se listan algunos de los cambios que ha experimentado la arquitectura durante el desarrollo. Tras eso, se muestra el diagrama final de la misma:

  1. Se ha eliminado la opción del acceso mediante interfaz web, debido a la carencia de tiempo para implementar esa funcionalidad.
  2. Se ha modificado el envío de SMS. En primer lugar se había ideado que fuera el cliente quien enviara dichos mensajes a sus followers. Sin embargo, se ha simplificado al centralizar el envío en el servidor (como ocurre con los otros medios de notificación) y se envían mediante la API de Twilio.
  3. Se ha añadido también la autenticación como Anónimo (junto a la de Google, con la que ya contábamos) mediante Firebase
  4. Se han definido los servicios a utilizar:
    • Autenticación: Firebase
    • Api de Mapas: Google
    • Api Mail: Google
    • Api SMS: Twilio (versión de prueba)
  5. La limitación de que el API de rutas de Google fuera de pago nos ha obligado a cambiar la estrategia de creación de rutas, para ello utilizamos OSRM.
  6. En caso de que un usuario no llegue a su destino en el tiempo esperado se ejecutará una tarea en Celery que había sido insertada en Redis en el momento de activación de la ruta. Esta tarea notificará a los seguidores correspondientes.

Imagen actual de arquitectura de la App GeoGuardian