Aplicación turística como Trabajo de Titulación que trata sobre la promoción de los puntos de interés del cantón Arenillas (Ecuador), que integra realidad aumentada y geolocalización.
La aplicación consta de 5 partes tales como:
- Obtiene la lista de los sitios turísticos clasificados por categorías.
- Mapa donde se visualiza todos puntos por medio de sus datos geográficos.
- Una galería donde se recopila todas las imagenes de los sitios turísticos.
- Se visulizan los marcadores de los lugares por medio de la realidad aumentada a través de la cámara del dispositivo.
- Formulario de contacto con el desarrollador.
El proyecto esta construido en Kotlin, las vistas se vinculan con Data Binding, además, se usa Realtime Database como fuente de datos remota de los sitios turísticos y Room Database como datos locales que se sincroniza con los datos remotos durante la inicialización de la aplicación para ofrecer un servicio offline.
La geolocalización de los puntos por medio de los mapas se usa Mapbox SDK y la experiencia de la realidad aumentada con Wikitude usando la API en JavaScript.
La descarga de las imágenes se realizan por medio de Glide, tambien se emplea Android Image Slider para incluir un carrusel de imágenes en los detalles de los puntos de intéres y se usa PhotoView para ofrecer una características de zoom.
La administración de los permisos de Android de GPS y cámara se realizan por medio de Kpermissions.
Los datos del formulario se guardan en Firebase usando Firestore
Todo el proyecto emplea el pratron de arquitectura MVVM y componentes de Android Jetpack para navegación, viewmodels, livedata, entre otras.
A continuacion se presentan las diferentes tecnologías y herramientas utilizadas en esta aplicación:
Si se clona el proyecto y quieres ejecutar la app en tu entorno, debes agregar el archivo google-services.json configurado con tu proyecto en Firebase, para más información visita la documentación oficial en como agregar Firebase a tu proyecto en Android.
El SDK de Wikitude es de pago, pero ofrece una APIKEY por 45 días gratis y una de 1 año solicitando la versión educativa, para más información visita Wikitude Academy. En la ruta de este archivo de recurso api_key_wikitude.xml debe colocar su APIKEY de Wikitude.
El SDK de Mapbox se basa en dos APIKEY, el token secreto (más información en: creando un token de acceso secreto) y token público que deben colocar en las siguientes direcciones:
- En gradle.properties debe colocar su token secreto en la variable "MAPBOX_DOWNLOADS_TOKEN".
- En la ruta de este archivo de recurso api_key_mapbox.xml debe colocar su APIKEY pública.