Dificultades encontradas ¶
La primera dificultad que tuve fue la normalización de las tablas para la funcionalidad completa propuesta desde un comienzo de mi aplicación. Hubo que hacer cambios en la estructura de tablas de datos, una vez hecho esto conseguimos una aplicación mas eficiente con lazyload y en tercera forma normal.
A la hora de implementar los mapas mediante la API de Google Maps, no encontré ningún plugin para Yii que se asemejase a lo que estaba buscando (autocompletado de direcciones y a su vez mostrar rutas en el mapa). Así que opté por utilizar los pequeños conocimientos que aprendí en clase sobre mapas, añadiendo más funcionalidades para conseguir lo que buscaba.
Al usar Amazon S3 para el almacenamiento de imágenes uso dos buckets independientes, uno para avatares y otro para contenido multimedia de un entrenamiento. No encontré ningún plugin para Yii por lo que instalé el SDK de Amazon y elaboré una funcion en php encargada de subir los archivos con las credenciales.
Elementos de innovación ¶
- API Google Maps
Para esta aplicación era imprescindible la utilización de la API de Google Maps, tanto para el autocompletado de direcciones, como para mostrar en el mapa la ruta desde su origen hasta su destino en actividades al aire libre o como ubicación en otros entrenamientos que no requieren movilidad.
- API Amazon S3
Almacenamos en Amazon tanto los avatares de los usuarios como el contenido multimedia que puede ir asociado a un entrenamiento. El usuario puede eliminar estos datos y quedarán tambien eliminados de la nube.
- Boostrap 4
Este es el elemento de innovación menos destacado, pero creo que es muy útil para cualquier aplicación web que use yii 2. Hemos cargado las librerias y los componentes usados de la librería Boostrap en el propio proyecto en los archivos de css, de forma que en lugar de cargar una librería completa cargamos los componentes que realmente usamos.