Proyectos

movGR

Sigue el transporte público de Granada en tiempo real

movGR

movGR es una Progressive Web App (PWA) moderna que ofrece seguimiento en tiempo real del transporte público de Granada, incluyendo autobuses y metro. Está diseñada para proporcionar acceso rápido, ligero y fiable a la información de transporte en el día a día.

La aplicación está construida con Next.js en el frontend y respaldada por una API desarrollada con FastAPI, siguiendo una arquitectura desacoplada que permite desarrollar, desplegar y escalar cada componente de forma independiente.

Ya seas residente, estudiante o estés visitando la ciudad, movGR pone la información del transporte al alcance de tu mano.

#Motivación

Los datos de transporte público suelen estar dispersos en múltiples fuentes, presentados mediante interfaces lentas o poco optimizadas para dispositivos móviles. movGR nace para explorar cómo las tecnologías web modernas y las arquitecturas cloud-native pueden combinarse para ofrecer una experiencia de usuario sencilla y en tiempo real sobre datos heterogéneos.

El foco del proyecto no está solo en la funcionalidad, sino también en la responsividad, la fiabilidad y la simplicidad operativa.

#Visión General de la Arquitectura

Arquitectura de movGR

movGR sigue una arquitectura completamente desacoplada, donde frontend y backend se desarrollan, despliegan y escalan de manera independiente. Este diseño permite iterar rápidamente sobre la interfaz de usuario mientras se mantiene una capa de datos ligera y eficiente.

#API Backend

El backend se ejecuta en AWS y está desarrollado con FastAPI, actuando como crawler y como API pública de datos de transporte.

Características principales:

  • AWS Lambda ejecuta lógica en Python para la extracción de datos en tiempo real, utilizando BeautifulSoup.
  • Las funciones Lambda se exponen mediante AWS API Gateway, proporcionando endpoints HTTP consumidos por el frontend.
  • El backend es open source y se mantiene en el repositorio movgr-api.
  • La integración y el despliegue continuos se gestionan con GitHub Actions.

Esta arquitectura prioriza un bajo coste operativo, escalabilidad horizontal y simplicidad en producción.

#Aplicación Frontend

El frontend está implementado con Next.js y desplegado en Vercel, lo que permite despliegues automáticos con cada commit a la rama main del repositorio movgr-next.

Aspectos destacados:

  • Los datos se obtienen directamente desde la API alojada en AWS.
  • Se utiliza localStorage para persistir preferencias de usuario y datos de sesión.
  • Como PWA, movGR puede instalarse en cualquier dispositivo y ofrece acceso offline a vistas previamente cargadas.

El resultado es una interfaz rápida, fluida y optimizada tanto para móvil como para escritorio.

#Instalación y Uso

Instalar movGR no requiere tienda de aplicaciones ni registro. Basta con visitar la web e instalarla directamente desde el navegador.

Como PWA, movGR ofrece:

  • Soporte offline para datos ya cargados
  • Rendimiento similar al de una app nativa
  • Tamaño de instalación mínimo

Guías de instalación:

#Código Abierto

movGR es un proyecto 100% open source y las contribuciones son bienvenidas.

Este proyecto sirve como exploración práctica de entrega de datos en tiempo real, diseño cloud-native y desarrollo de aplicaciones web centradas en el usuario.

Siguiente proyecto

pvv