XploreBilbao: Desarrollo de un aplicativo HTML5 híbrido urbano y plataforma de soporte para la recomendación de rutas de ocio y turismo en Bilbao

Mejor Proyecto Fin de Grado en Ingeniería Informática

ARITZ BILBAO JAYO   @AritzBi      aritzbilbao@deusto.es
DIEGO LÓPEZ DE IPIÑA    Director

Figura 1: Una ruta visualiazada en un móvil
Figura 1: Una ruta visualiazada en un móvil

Cuando mi tutor Diego López de Ipiña, me ofreció desarrollar XploreBilbao, una aplicación web y móvil cuyo principal objetivo era diseñar e implementar un asistente capaz de recomendar rutas personalizadas por Bilbao, me pareció algo imposible de hacer en el
poco tiempo del que disponía, 5 meses. Tenía que crear desde la nada una aplicación que necesitaba obtener datos turísticos de Bilbao (restaurantes, bares, eventos, monumentos, etc.), para así, una vez recolectados, ser capaz de crear rutas personalizadas
teniendo en cuenta tanto las preferencias del usuario, como otros factores externos, tales como el clima. Por tanto, lo primero que hice fue empezar a buscar formas de poder recopilar información turística sobre Bilbao para así poder tratarla, almacenarla, utilizarla
para la creación de rutas personalizadas y por último, publicarla para que pudiera ser utilizada por aplicaciones de terceros.
Tras ver que no existían fuentes de datos públicas y fácilmente accesibles sobre los datos turísticos de Bilbao, opté por una técnica llamada «web scraping» que se basa básicamente en analizar el
código fuente (HTML) de las páginas web e ir obteniendo los datos que te interesan de unas páginas webs previamente seleccionadas. Para ello, se usan técnicas como las expresiones «XPath» que permiten especificar en qué zona del código está el dato a recuperar o expresiones regulares para especificar de una forma más precisa el formato del dato que se quiere obtener.
Una vez tenía encaminada la obtención de datos, inicié el desarrollo de la aplicación web, algo en lo que tenía muy poca experiencia previa y no me sentía con los conocimientos suficientes para llevarlo a cabo. Como impedimento, debía tener en cuenta una restricción, y era que debía usar una plataforma
totalmente desconocida para mí llamada NodeJS, con el fin de poder emplearla en futuros proyectos, al tratarse de una plataforma que está en auge y cada día se utiliza más.

Entre algunas de las características de NodeJS se encuentra
la de poder ejercer de servidor. Por tanto, lo primero que hice fue dedicar un par de semanas exclusivamente a aprender cómo funcionaba NodeJS mediante tutoriales para, finalmente, terminar haciendo la estructura básica del servidor.
Tras dejar encaminado el servidor, comencé con la parte web. Elegí una librería llamada AngularJS para creación de páginas webs. Se trata de una herramienta relativamente nueva y que cada vez se emplea más en la creación de páginas webs. Afortunadamente, muchos de los conceptos de AngularJS se basan en herramientas dadas durante la carrera, lo que facilitó el aprendizaje del mismo.
Por tanto, tenía las 3 columnas básicas del proyecto relativamente controladas, pero faltaban 2 elementos más: el sistema de recomendaciones personalizado y el cálculo de rutas óptimas desde un punto a otro.

Figura 2: Lista de eventos en la página web
Figura 2: Lista de eventos en la página web

Por un lado, para el sistema de recomendaciones personalizado, decidí usar uno de los conocimientos adquiridos durante la carrera, impartido en la asignatura de inteligencia artificial: un sistema basado en reglas el cual, a pesar de que en sus primeras versiones es algo simple, es fácilmente extensible. Algunas de las reglas que están actualmente implementadas son: si el usuario va solo o acompañado, se tiene en cuenta el clima que hace y si el usuario está interesado en una ruta turística o de ocio.
Por otro lado, para el cálculo de rutas óptimas, tuve la suerte de que uno de los diversos cursos que imparten los investigadores de DeustoTech fuese sobre eso y me pude basar en él para el desarrollo de mi sistema.
En conclusión, un proyecto que en un principio veía que iba a ser incapaz de realizar en tan poco tiempo se convirtió en una excelente manera de adentrarme en el mundo del desarrollo web con algunas de las herramientas más innovadoras del mercado. Actualmente,
XploreBilbao está en proceso de despliegue y se puede visitar en la siguiente dirección:
http://apps.morelab.deusto.es/xplorebilbao/.


http://www.morelab.deusto.es/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *