Skip to content

Aprendizaje de la gestión del código e incremento. Simulación una gestión de versiones de código utilizando un proyecto disponible en un repositorio público

License

Notifications You must be signed in to change notification settings

clopezno/GESPRO_GESTIONVERSIONES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eco City Tours

TFG Ingeniería Informática - Fernando Pisot

Reliability Rating Security Rating Maintainability Rating Vulnerabilities Bugs

GitHub issues Wiki GitHub PreRelease Workflow Status Zube

Este repositorio contiene el código fuente de Eco City Tours, una aplicación móvil que propone rutas turísticas generadas con tecnologías GIS, enriquecidas mediante modelos de lenguaje (LLM). La aplicación promueve rutas no motorizadas optimizadas para ciclistas y peatones, contribuyendo a los Objetivos de Desarrollo Sostenible (ODS11).


🎓 Información Académica

Este proyecto forma parte del Trabajo de Fin de Grado (TFG) de Ingeniería Informática bajo la supervisión de:

  • Carlos López Nozal

    Departamento de Ingeniería Informática, Universidad de Burgos


📌 Objetivos del Proyecto

  • Promoción de Rutas No Motorizadas: Fomentar el uso de rutas sostenibles.
  • Enriquecimiento de Datos: Uso de LLM y Google Places para información turística detallada.
  • ODS11: Apoyo a la creación de ciudades y comunidades sostenibles.

🛠️ Tecnologías Utilizadas

  • Flutter & Dart: Desarrollo de la interfaz y lógica de la aplicación.
  • Modelos de Lenguaje (LLM): Enriquecimiento de datos y generación de información turística.
  • Servicios Google: API de Maps, Places y Directions para optimización y visualización de rutas.
  • Firebase: Gestión de base de datos y análisis de errores.

🚀 Funcionalidades Principales

  1. Generación de rutas personalizadas para ciclistas y peatones.
  2. Información enriquecida sobre puntos de interés turístico.
  3. Optimización de rutas con datos GIS.
  4. Integración con Firebase para almacenamiento y monitoreo de errores.

⚙️ Compilación, Instalación y Ejecución del Proyecto

Obtención del Código Fuente

  1. Asegúrate de tener Git instalado.
  2. Clona el repositorio ejecutando:
    git clone https://github.com/fps1001/TFGII_FPisot.git
  3. Cambia al directorio del proyecto:
    cd TFGII_FPisot/project-app/project_app

Configuración de Servicios Externos

Google Cloud Platform

  1. Regístrate en Google Cloud Platform y crea un proyecto.
  2. Activa las siguientes APIs desde la consola:
    • Maps SDK for Android
    • Places API
    • Directions API
    • Generative AI API (Gemini)
  3. Genera claves API para cada servicio y colócalas en un archivo .env en la raíz del proyecto con el formato:
    GOOGLE_API_KEY=<TU_CLAVE>
    GEMINI_API_KEY=<TU_CLAVE>
    GOOGLE_DIRECTIONS_API_KEY=<TU_CLAVE>
    GOOGLE_PLACES_API_KEY=<TU_CLAVE>

Firebase

  1. Regístrate en Firebase Console y crea un proyecto llamado eco-city-tour.
  2. Configura los servicios:
    • Cloud Firestore: Habilita Firestore en modo "Producción".
    • Crashlytics: Integra Crashlytics siguiendo las instrucciones en Firebase Console.
  3. Descarga el archivo google-services.json y colócalo en /android/app/.
  4. Agrega las siguientes variables al archivo .env:
    FIREBASE_API_KEY=<TU_CLAVE>
    FIREBASE_APP_ID=<TU_CLAVE>
    FIREBASE_MESSAGING_SENDER_ID=<TU_CLAVE>
    FIREBASE_PROJECT_ID=eco-city-tour
    FIREBASE_STORAGE_BUCKET=eco-city-tour.appspot.com
    FIREBASE_PACKAGE_NAME=com.example.project_app
    FIREBASE_PROJECT_NUMBER=<TU_NUMERO>
    MOBILESDK_APP_ID=<TU_CLAVE>

Compilación y Ejecución

  1. Asegúrate de que el archivo .env está configurado correctamente.
  2. Instala las dependencias:
    flutter pub get
  3. Ejecuta la aplicación en un emulador o dispositivo:
    flutter run

🔍 Pruebas del Sistema

El sistema fue sometido a diversas pruebas para garantizar su calidad y funcionalidad:

  • Pruebas Unitarias: Validación de componentes individuales.
  • Pruebas de Integración: Verificación de interacción entre módulos.
  • Pruebas de Usuario: Feedback recopilado de usuarios finales.

🤝 Contribución

¡Contribuciones son bienvenidas! Sigue estos pasos para colaborar:

  1. Realiza un fork del repositorio.
  2. Crea una nueva rama (git checkout -b feature/nueva-funcionalidad).
  3. Realiza los cambios y haz commit (git commit -am 'Descripción del cambio').
  4. Empuja tus cambios (git push origin feature/nueva-funcionalidad).
  5. Abre un Pull Request.

📄 Licencia

Este proyecto está licenciado bajo los términos de la GNU General Public License v3.0. Consulta el archivo LICENSE para más detalles o a través del siguiente enlace:
https://www.gnu.org/licenses/gpl-3.0.txt.


📬 Contacto

Si tienes preguntas o necesitas más información, no dudes en contactarme:


¡Gracias por tu interés en este proyecto! 💡

About

Aprendizaje de la gestión del código e incremento. Simulación una gestión de versiones de código utilizando un proyecto disponible en un repositorio público

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published