Explora es una aplicación móvil desarrollada para transformar la manera en que los usuarios descubren, guardan y comparten lugares de interés mediante una experiencia social inmersiva basada en geolocalización en tiempo real e inteligencia artificial.
La plataforma integra funcionalidades modernas como:
- Geolocalización GPS
- Visualización interactiva en mapas
- Registro multimedia de ubicaciones
- Reseñas, resumenes, edicion y analisis inteligente impulsado por IA
- Chat en tiempo real
- Grupos y comunidades
- Feed social colaborativo
- Sistema de guardados y favoritos
El objetivo principal de la aplicación es centralizar la experiencia de exploración urbana y social en un único ecosistema digital, permitiendo que los usuarios documenten experiencias, interactúen con comunidades y descubran contenido contextual basado en ubicación y asistido por IA.
Explora redefine la forma en que interactuamos con nuestro entorno mediante la convergencia de geolocalización inteligente y un sistema social integrado, permitiendo un descubrimiento contextual de lugares con interacción comunitaria en tiempo real. Gracias a su capacidad de registro multimedia, los usuarios disfrutan de experiencias visuales enriquecidas bajo una arquitectura móvil moderna que garantiza fluidez, escalabilidad y una experiencia de usuario optimizada a través de una interfaz intuitiva.
El núcleo de Explora es la capacidad de transformar coordenadas geográficas en historias visuales con el mínimo esfuerzo del usuario. A continuación, se detalla el flujo de trabajo integrado en la vista de mapa:
El usuario interactúa con un mapa de alta precisión (estética minimalista) para identificar su posición actual o un punto de interés. Al seleccionar una ubicación, el sistema activa el botón dinámico de "Registrar Ubicación", capturando las coordenadas exactas de forma automática.
Al iniciar el registro, se despliega una interfaz de usuario optimizada mediante una tarjeta con efecto de desenfoque (glassmorphism). Este panel organiza la información técnica y los campos creativos:
- Nombre y Descripción: Espacios para la personalización del usuario.
- Gestión Multimedia: Selector de imágenes para documentar la experiencia.
- Control de Privacidad: Interruptor nativo para decidir la visibilidad de la publicación.
Mediante la integración con Gemini AI, el sistema ofrece un análisis automático de las fotografías:
- Visión Computacional: Identificación de elementos clave (paisajes, flora, monumentos).
- Generación de Contenido: Redacción automática de nombres creativos y descripciones detalladas.
- Clasificación Inteligente: Generación de #Hashtags para facilitar la búsqueda y escalabilidad.
Una vez validado, el registro se sincroniza con Firebase Firestore, apareciendo instantáneamente en el feed social y en la bitácora personal, garantizando fluidez bajo una arquitectura móvil moderna.
La sección Explorar actúa como el motor de descubrimiento de la plataforma, permitiendo a los usuarios conectar con experiencias compartidas por la comunidad a través de herramientas de búsqueda avanzada y análisis semántico. A continuación, se detalla el flujo de exploración:
La interfaz presenta un buscador global optimizado para nombres, categorías o etiquetas. Se implementa un sistema de filtros rápidos (Chips) que permiten segmentar resultados de forma instantánea: desde ubicaciones "Cerca de mí" hasta categorías específicas como #Naturaleza o #Cascada, facilitando una navegación fluida entre miles de registros.
Los resultados se despliegan en una lista de tarjetas interactivas que priorizan el contenido visual. Cada tarjeta ofrece un resumen ejecutivo del lugar: nombre del autor, imagen destacada y hashtags principales. Esta arquitectura permite al usuario evaluar rápidamente los puntos de interés antes de profundizar en los detalles.
Al seleccionar un lugar, Explora utiliza Inteligencia Artificial para procesar el sentimiento colectivo. La funcionalidad "¿Qué dice la comunidad? (IA)" analiza todas las reseñas de los usuarios para generar un resumen inteligente, extrayendo los puntos positivos y las advertencias relevantes, ahorrando al usuario la lectura de decenas de comentarios individuales.
La vista detallada permite al usuario iniciar navegación directa (botón "Ir") o compartir el hallazgo con amigos. El sistema de Reseñas permite una interacción bidireccional donde los usuarios califican con estrellas y texto, contando además con asistencia de IA para "Sugerir opinión", optimizando la participación social dentro del ecosistema.
La sección Guardados constituye la bitácora personal del usuario, ofreciendo una interfaz robusta para administrar el historial de exploraciones, personalizar la privacidad y organizar los hallazgos mediante herramientas de gestión avanzada.
El usuario dispone de una biblioteca centralizada con todas sus ubicaciones registradas. Se implementa un sistema de filtros inteligentes (Recientes, Favoritos, Nombre, Zona) que permite localizar entradas específicas de forma ágil, permitiendo al explorador tener un control total sobre su patrimonio de viajes.
Mediante una pulsación prolongada (Long Press), se despliega un menú de Opciones Rápidas con efecto de desenfoque. Desde aquí, el usuario puede alternar instantáneamente entre estados de "Destacado", modificar la visibilidad (Público/Privado), enviar el lugar a un amigo o realizar una exportación compartida externa.
Optimizando la experiencia en dispositivos móviles, se han integrado Swipe Actions intuitivos en cada tarjeta. Deslizar hacia la izquierda revela botones de acción directa: un acceso rápido para Editar los detalles del lugar y un botón de Eliminar con confirmación, permitiendo una limpieza de bitácora rápida y fluida.
La vista de edición permite modificar la galería de fotos y actualizar la narrativa de la entrada. Se mantiene la integración con Gemini AI mediante el botón "Auto-completar", permitiendo al usuario regenerar o pulir la descripción y hashtags del lugar basándose en las imágenes actuales, asegurando que cada registro mantenga una calidad profesional.
La sección Social constituye el núcleo de interacción de la plataforma. Está diseñada bajo una arquitectura de pestañas dinámicas que facilita la gestión de grupos, la comunicación directa y la personalización de la identidad digital del explorador.
El Feed presenta una línea de tiempo fluida con las recomendaciones de la comunidad. Cada publicación integra un motor de interacción social que permite reaccionar, comentar y compartir. Se incluye un acceso directo de Geolocalización ("Ir a ubicación") que vincula el contenido social con el mapa interactivo, cerrando el ciclo de descubrimiento.
El módulo de Grupos permite a los usuarios unirse a comunidades existentes o fundar nuevas. Se implementa un sistema de validación donde el botón de acción cambia dinámicamente de "Unirse" a "Abrir" según el estado de pertenencia. Cada comunidad cuenta con un identificador único (Cód.) para facilitar el crecimiento orgánico mediante invitaciones directas.
La pestaña de Chat centraliza la comunicación privada y grupal. Se organiza en dos niveles: una fila superior de Acceso Rápido a Grupos para una navegación ágil y una lista vertical de Conexiones Personales. La interfaz utiliza indicadores visuales de estado y previsualizaciones de mensajes para mejorar la retención y el engagement.
La sección de Perfil ofrece un panel de configuración estética y técnica. Los usuarios pueden personalizar su avatar, banner de encabezado y biografía. Además, se integra un generador de Código de Amigo Único con función de copiado rápido, permitiendo que la red social se expanda mediante la vinculación directa entre exploradores.
La arquitectura de Explora está diseñada bajo un modelo de Capas de Servicios Coordinados asíncronamente. Este enfoque garantiza la fluidez de la interfaz de usuario al desplazar los procesos de cómputo intensivo (como la inferencia de IA) fuera del hilo principal.
Los sensores nativos (GPS y Cámara) capturan datos de entrada. Antes del despacho, el sistema gestiona permisos y optimiza recursos —como el redimensionamiento de imágenes en el Frontend— para minimizar la latencia y el consumo de datos.
Los activos multimedia se envían de forma asíncrona al motor de Gemini 2.5 Flash. La IA realiza un análisis multimodal, devolviendo metadatos enriquecidos (descripciones narrativas, nombres creativos y hashtags) que dotan de contexto semántico al registro original.
La información procesada se consolida en Firebase Firestore bajo reglas de seguridad robustas. La base de datos dispara actualizaciones reactivas mediante listeners de tiempo real, manteniendo los feeds y chats sincronizados globalmente en milisegundos.
Cada interacción social conserva una referencia inyectada a sus coordenadas de origen. Esto permite una navegación contextual directa, vinculando orgánicamente el ecosistema social con el mapa interactivo de la plataforma.
- Interpretación avanzada de imágenes para comprender el contexto del lugar.
- Redacción automática de nombres creativos y descripciones detalladas.
- Resúmenes inteligentes del sentimiento de la comunidad.
- Sugerencia de reseñas y respuestas automáticas.
- Integración con el SDK de Google Generative AI.
- Procesamiento de Prompts optimizados para modelos Gemini 1.5 Flash.
- Análisis de metadatos multimedia para extracción de etiquetas (#Hashtags).
- Sincronización de respuestas generadas con estados de React.
- Obtención de ubicación en tiempo real
- Detección de coordenadas geográficas
- Registro automático de lugares
- Visualización de mapas interactivos
- Navegación contextual basada en proximidad
- Integración con servicios de localización del dispositivo
- Manejo de permisos GPS
- Actualización dinámica de coordenadas
- Renderizado de marcadores geográficos
- Visualización geoespacial de lugares
- Marcadores personalizados
- Navegación visual contextual
- Interacción táctil avanzada
- Renderizado de mapas dinámicos
- Sincronización con datos de ubicación
- Gestión de capas geográficas
- Actualización en tiempo rea
- Captura de imágenes desde la aplicación
- Registro visual de ubicaciones
- Publicación multimedia
- Acceso nativo a cámara
- Manejo de permisos multimedia
- Procesamiento de imágenes
- Asociación de contenido visual con ubicaciones
- Comunicación instantánea
- Conversaciones privadas y grupales
- Sincronización en tiempo real
- Renderizado dinámico de mensajes
- Gestión de sesiones de usuario
- Actualización reactiva de conversaciones
- Arquitectura basada en eventos
- Creación de grupos
- Feed social colaborativo
- Publicaciones sociales
- Interacciones comunitarias
- Gestión de relaciones sociales
- Persistencia de publicaciones
- Actualización dinámica de feeds
- Arquitectura modular social
- Guardar ubicaciones favoritas
- Organización personalizada
- Acceso rápido a contenido
- Persistencia local/remota
- Sincronización de favoritos
- Gestión de estados
- Registro de usuarios
- Inicio de sesión
- Gestión de perfiles
- Manejo seguro de credenciales
- Persistencia de sesión
- Validaciones de autenticación
| Categoría | Tecnología | Propósito |
|---|---|---|
| Lenguaje | TypeScript | Tipado seguro y escalabilidad |
| Framework Mobile | React Native | Desarrollo móvil multiplataforma |
| Framework | Expo | Simplificación del ecosistema móvil |
| Inteligencia Artificial | Gemini 2.5 Flash | Inferencia multimodal y enriquecimiento de datos |
| Navegación | Expo Router | Routing modular y navegación |
| Backend Services | Firebase | Persistencia y sincronización |
| Base de Datos | Firestore | Base de datos en tiempo real |
| Autenticación | Firebase Auth | Gestión de usuarios |
| Geolocalización | Expo Location | Servicios GPS |
| Cámara | Expo Camera | Captura multimedia |
| Mapas | React Native Maps | Visualización geográfica |
| Estado | React Hooks / Context API | Manejo global de estado |
| Iconografía | Expo Vector Icons | Componentes visuales |
| Estilos | StyleSheet API / BlurView | Diseño responsive y efectos Glassmorphism |
Seleccionados por:
- Desarrollo cross-platform
- Alto rendimiento móvil
- Ecosistema maduro
- Iteración rápida
- Integración sencilla con APIs nativas
Elegido por:
- Arquitectura serverless
- Sincronización en tiempo real
- Escalabilidad inmediata
- Integración rápida con apps móviles
- Autenticación integrada
Implementado para:
- Mayor mantenibilidad
- Reducción de errores
- Escalabilidad empresarial
- Tipado estático
| Vista Login | Vista Registro | Vista Acceso |
|---|---|---|
![]() |
![]() |
registro-perfil-login.mp4 |
| Vista Explorar | Vista Guardados | Vista Mapa |
|---|---|---|
explorar.mp4 |
Guardados.mp4 |
mapa.mp4 |
| Chat en Vivo | Feed de Noticias | Grupos Comunitarios |
|---|---|---|
Social-Chat.mp4 |
social-feed.mp4 |
social-grupos.mp4 |
| Requisito | Especificación |
|---|---|
| Sistema Operativo | Android / iOS (Multiplataforma) |
| RAM Recomendada | 4 GB o superior |
| GPS | Requerido (Servicios de ubicación activos) |
| Cámara | Requerida (Para registro multimedia e IA Vision) |
| Conectividad | Internet (Requerido para sincronización en tiempo real e IA) |
| Sensores | Geolocalización activa y acelerómetro |
| Permisos del Sistema | Cámara, ubicación, notificaciones y almacenamiento |
Utilizado para:
- Detección geográfica
- Navegación contextual
- Registro de ubicaciones
Utilizada para:
- Captura multimedia
- Registro visual
- Publicaciones sociales
Explora/
├── app/ # Directorio principal de rutas (Expo Router)
│ ├── (auth)/ # Flujos de autenticación (Login, Registro)
│ ├── (tabs)/ # Navegación principal por pestañas
│ │ ├── biblioteca.tsx # Gestión de lugares guardados
│ │ ├── buscar.tsx # Motor de exploración y comunidad
│ │ ├── comunidad.tsx # Gestión de grupos y chat social
│ │ └── mapa.tsx # Vista interactiva principal
│ ├── api/ # Backend de la App (Serverless Functions)
│ │ ├── analizar-imagen+api.ts # Endpoint para integración con Gemini 2.5
│ │ └── registro+api.ts # Lógica de registro en base de datos
│ ├── _layout.tsx # Configuración de Temas y Providers globales
│ ├── index.tsx # Punto de entrada lógico
│ └── onboarding.tsx # Pantallas de bienvenida e introducción
│
├── assets/ # Recursos estáticos
│ ├── fonts/ # Tipografías personalizadas
│ └── images/ # Assets visuales y recursos para el README
│
├── components/ # Componentes atómicos y modulares
│ ├── biblioteca/ # UI específica para la gestión de archivos
│ ├── buscar/ # UI para filtros y listas de exploración
│ ├── loginRegister/ # Componentes de entrada y botones de acceso
│ ├── mapa/ # Formularios y tarjetas detalladas del mapa
│ └── Shared/ # Componentes reutilizables (Modales, TabItems)
│
├── constants/ # Valores globales y configuración de diseño
│ └── theme.ts # Paleta de colores y estilos globales
│
├── hooks/ # Lógica de estado y utilidades personalizadas
│ ├── useBiblioteca.ts # Hook para gestión de datos de usuario
│ └── use-theme-color.ts # Hook para soporte de Dark/Light mode
│
├── scripts/ # Scripts de mantenimiento y configuración
│ └── reset-project.js # Utilidad para limpieza de boilerplate
│
├── firebaseConfig.ts # Configuración e inicialización de Firebase
├── app.json # Configuración nativa de Expo
├── package.json # Dependencias y scripts de ejecución
└── tsconfig.json # Configuración de TypeScriptEs necesario contar con las siguientes herramientas:
- Node.js (Versión LTS recomendada).
- Expo Go instalado en un dispositivo móvil o un emulador de iOS/Android.
- Proyecto configurado en Firebase Console.
- API Key de Google AI Studio (para el motor Gemini).
# Clonar el repositorio
git clone [https://github.com/Yourchh/Explora.git](https://github.com/Yourchh/Explora.git)
# Acceder al directorio
cd Explora
# Instalar dependencias
npm installCrea un archivo .env en la raíz del proyecto con las siguientes variables (puedes basarte en el archivo .env.example):
EXPO_PUBLIC_FIREBASE_API_KEY=tu_api_key
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=tu_dominio.firebaseapp.com
EXPO_PUBLIC_FIREBASE_PROJECT_ID=tu_proyecto_id
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=tu_bucket.appspot.com
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=tu_sender_id
EXPO_PUBLIC_FIREBASE_APP_ID=tu_app_id
EXPO_PUBLIC_GEMINI_API_KEY=tu_clave_de_google_ai_studioInicia el servidor de desarrollo de Expo:
npx expo startEscanea el código QR generado con la aplicación Expo Go para visualizar la app en tiempo real.
Jorge Andres Hernandez Pelayo Estudiante de Ingeniería en Sistemas Computacionales |
Explora fue conceptualizado y desarrollado íntegramente por mí como proyecto integrador para la materia de Desarrollo Híbrido para Móviles, impartida por el profesor Omar Gerardo Pérez Morales. En este proyecto se aplicaron arquitecturas de software modernas, gestión asíncrona de datos y modelos de Inteligencia Artificial de última generación para ofrecer una experiencia de usuario fluida y de alto impacto tecnológico.









