Skip to content

JavFuentes/StellarView

Repository files navigation

StellarView 🌟

StellarView Banner

Una app educativa para Android que trae las maravillas de la astronomía a todos

Google Play MIT License Android

📱 Acerca de

StellarView es una aplicación educativa para Android diseñada para inspirar curiosidad sobre la astronomía y las ciencias del espacio. Ya seas estudiante, entusiasta de la astronomía o desarrollador Android, esta app es tanto una herramienta educativa atractiva como un ejemplo completo de código.

🎯 Objetivos Educativos

  • Para Entusiastas de la Astronomía: Explora las imágenes astronómicas diarias de la NASA, pon a prueba tus conocimientos con trivia interactiva y descubre el cosmos.
  • Para Desarrolladores Android: Aprende patrones modernos de desarrollo Android, arquitectura y buenas prácticas mediante una implementación real.

✨ Características

🖼️ Integración con NASA APOD - Imágenes astronómicas diarias con descripciones profesionales
🧠 Trivia Interactiva de Astronomía - Pon a prueba y expande tu conocimiento cósmico
Sistema de Favoritos - Guarda y organiza tus descubrimientos astronómicos favoritos
🌙 Tema Claro/Oscuro - Visualización cómoda para el día y la noche
🌍 Soporte Multilenguaje - Disponible en inglés, español e italiano
🎵 Efectos de Sonido - Experiencia mejorada con retroalimentación auditiva

Capturas de pantalla

🏗️ Arquitectura y Tecnologías

Este proyecto demuestra prácticas modernas de desarrollo Android:

📐 Arquitectura

  • Patrón MVVM - Separación clara de responsabilidades
  • Patrón Repository - Abstracción limpia de la capa de datos
  • Navigation Component - Arquitectura de actividad única
  • View Binding - Referencias de vistas seguras y con tipado

🛠️ Tecnologías Utilizadas

  • Kotlin - Lenguaje moderno para desarrollo Android
  • Layouts XML + View Binding - Desarrollo de UI tradicional (antes de Compose)
  • Room Database - Persistencia de datos local
  • Retrofit - Integración con API de la NASA
  • Dagger Hilt - Inyección de dependencias
  • Coroutines - Programación asíncrona
  • Material Design Components - Componentes modernos de UI
  • Lottie Animations - Interacciones visuales atractivas
  • Coil - Carga y almacenamiento de imágenes
  • Firebase - Servicios de backend y analíticas

🌐 APIs y Datos

  • NASA APOD API - Imagen Astronómica del Día
  • SQLite local - Almacenamiento de preguntas de trivia y favoritos
  • Firebase Analytics - Métricas de uso (solo en producción)

🚀 Comenzar

Requisitos Previos

  • Android Studio Arctic Fox o superior
  • SDK de Android 30+
  • Java 17

Instalación

  1. Clona el repositorio
git clone https://github.com/JavFuentes/StellarView.git
  1. Ábrelo en Android Studio

  2. Sincroniza el proyecto con los archivos Gradle

  3. Ejecuta en un dispositivo o emulador

🔑 Configuración de la API de la NASA

  1. Obtén tu clave gratuita desde el Portal de Datos Abiertos de la NASA
  2. Agrégala a tu local.properties:
NASA_API_KEY="tu_clave_aqui"

🛠️ Configuración del Proyecto

Configuración de Firebase

Este proyecto usa Firebase para autenticación y almacenamiento. Sigue estos pasos si quieres implementar correctamente esta función:

Configuración Completa (Para producción)

  1. Ve a Firebase Console
  2. Crea un nuevo proyecto o selecciona uno existente
  3. Agrega una app Android:
    • Nombre del paquete: com.astronomy.stellar_view
    • Nombre de la app: StellarView
  4. Descarga google-services.json
  5. Colócalo en la carpeta app/

⚠️ Importante

  • El archivo google-services-example.json contiene datos ficticios
  • Funciona para compilar, pero Firebase no funcionará completamente
  • Para funcionalidad completa de Firebase, usa tu archivo real

📚 Recursos de Aprendizaje

Para Desarrolladores Android

  • Implementación de Arquitectura Limpia - MVVM, Repository y DI funcionando en conjunto
  • Diseño con XML + View Binding - Aprende desarrollo de interfaces antes de Jetpack Compose
  • Navigation Component - Arquitectura de actividad única con fragments
  • Gestión de Base de Datos - Migraciones de Room, DAOs y relaciones de datos
  • Integración con API - Configuración de Retrofit, manejo de errores y transformación de datos
  • Carga de Imágenes - Uso de Coil para caché y optimización
  • Inyección de Dependencias - Configuración y mejores prácticas con Hilt

Para Entusiastas de la Astronomía

  • Imágenes Diarias de la NASA - Fotografía astronómica con explicaciones profesionales
  • Aprendizaje Interactivo - Trivia sobre sistema solar, galaxias y fenómenos cósmicos
  • Dificultad Progresiva - Contenido adecuado para todos los niveles

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Este proyecto es ideal para:

  • Desarrolladores principiantes que deseen aprender Android
  • Educadores en astronomía que quieran sumar contenido
  • Entusiastas del código abierto interesados en educación científica

Áreas para Contribuir

  • 🌟 Nuevas preguntas de trivia astronómica
  • 🌍 Traducciones a más idiomas
  • 🎨 Mejoras de UI/UX
  • 🧪 Expansión de cobertura de pruebas
  • 📚 Enriquecimiento del contenido educativo

📱 Descargar

📄 Licencia

Licencia MIT

Copyright (c) 2023 Javier Fuentes

Se otorga permiso, sin costo, a cualquier persona que obtenga una copia
de este software y archivos de documentación asociados (el "Software"), para tratar
con el Software sin restricción, incluidos sin limitación los derechos a usar,
copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender
copias del Software, y permitir a las personas a quienes se les proporcione el
Software que lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas
las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O
IMPLÍCITA, INCLUYENDO PERO NO LIMITADA A LAS GARANTÍAS DE COMERCIABILIDAD,
IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES
O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES POR NINGUNA RECLAMACIÓN, DAÑO U OTRA
RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA,
DERIVADA DE, O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTRO TIPO DE ACCIONES EN
EL SOFTWARE.

Para más información sobre el autor y sus proyectos, visita http://javierfuentes.dev

🌟 Apoyo

Si este proyecto te ayudó a aprender sobre desarrollo Android o astronomía, considera:

Cómprame un café en ko-fi.com

👨‍💻 Autor

Javier Fuentes - Desarrollador Android y Entusiasta de la Astronomía


"Vivimos en una sociedad profundamente dependiente de la ciencia y la tecnología y en la que casi nadie sabe nada de estos temas."
- Carl Sagan

About

"Stellar View" es un proyecto enfocado en promover el interés en la astronomía.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages