Skip to content

longaresf/mars-exploration-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mars Exploration Hub - Android Native App

Este repositorio contiene una aplicación móvil nativa para Android desarrollada en Kotlin, diseñada para visualizar y explorar datos del planeta Marte en tiempo real. El proyecto integra la API oficial de la NASA (Mars Rover Photos / Insight) para ofrecer una interfaz dinámica donde los usuarios pueden consultar las últimas expediciones fotográficas y datos científicos capturados en la superficie marciana.

🚀 Características y Funcionalidades

  • Consumo de API de la NASA: Integración con servicios REST para la recuperación de metadatos e imágenes de los Rovers (Curiosity, Opportunity, Spirit).
  • Galería Multimedia Optimizada: Implementación de visualización de imágenes de alta resolución con carga asíncrona para no penalizar el rendimiento del dispositivo.
  • Filtrado Inteligente: Capacidad de consultar imágenes por fecha terrestre, Sol marciano o tipo de cámara de los vehículos de exploración.
  • Interfaz Temática (Space Design): Diseño de UI/UX personalizado con una estética orientada a la exploración espacial y ciencia.

🛠️ Stack Tecnológico

  • Lenguaje: Kotlin
  • Plataforma: Android SDK (Nativo)
  • Conectividad: Retrofit 2 / OkHttp
  • Procesamiento de Imágenes: Coil.
  • Arquitectura: MVVM.

⚙️ Desafíos Técnicos y Resolución de Problemas

El desarrollo de esta aplicación enfrentó retos específicos de las aplicaciones que manejan contenido multimedia masivo:

  1. Gestión de Memoria (Caching): Se implementó una estrategia de almacenamiento en caché para las imágenes de Marte, permitiendo una navegación fluida y reduciendo el consumo de datos móviles del usuario al no re-descargar contenido ya visualizado.
  2. Manejo de JSON Complejos: La respuesta de la API de la NASA puede ser extensa; se diseñaron Data Classes optimizadas en Kotlin para deserializar solo la información relevante (ID, cámara, fecha, URL).
  3. Peticiones Asíncronas: Uso de Coroutines para asegurar que la descarga de datos científicos se realice en segundo plano, manteniendo la interfaz de usuario reactiva en todo momento.

🔧 Guía de Instalación y Uso

  1. Clonar el repositorio:

    git clone [https://github.com/longaresf/mars-exploration-hub.git](https://github.com/longaresf/mars-exploration-hub.git)
  2. Abrir en Android Studio: Importa el proyecto y permite que Gradle sincronice las dependencias necesarias.

  3. Configuración de API Key (Opcional):

    El proyecto utiliza la clave DEMO_KEY de la NASA por defecto. Para límites de tasa más altos, puedes obtener tu propia clave en api.nasa.gov y reemplazarla en la configuración de la red.

  4. Ejecución: Selecciona tu emulador o dispositivo físico y presiona Run.

✒️ Autor

Francisco Longares - Desarrollador Mobile & Entusiasta de la Ciencia de Datos - longaresf

About

Interactive web platform designed to explore Mars mission data and imagery, featuring asynchronous API integration, dynamic media rendering, and fluid user interfaces.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages