Skip to content

juanmadev5/Imagify

Repository files navigation

Imagify

Imagify es una aplicación Android moderna para explorar, buscar y descargar fotos de Unsplash, diseñada con Jetpack Compose y arquitectura limpia. ¡Descubre imágenes increíbles y personaliza tu experiencia!

Características principales

  • 🖼️ Explora fotos editoriales y populares de Unsplash
  • 🔍 Búsqueda avanzada por palabras clave y orientación
  • 📥 Descarga imágenes directamente a tu dispositivo
  • 🎨 Interfaz moderna con Material 3 y Jetpack Compose
  • ⚡️ Carga rápida y caché inteligente con Coil
  • 🔒 Preferencias de usuario y configuración personalizable
  • 🔗 Detalles completos de cada foto y autor
  • 🛡️ Integración con Firebase Crashlytics, Analytics y Performance

Screenshots

Pantalla Principal Búsqueda Detalle de Imagen
Home Search Detail

Instalación y ejecución

  1. Clona el repositorio:
    git clone https://github.com/juanmadev5/Imagify.git
  2. Abre el proyecto en Android Studio.
  3. Configura tu clave de API de Unsplash:
    • Ve a app/src/main/java/com/jmdev/app/imagify/Constants.kt y agrega tu API Key en la constante API_KEY.
  4. Sincroniza dependencias y ejecuta en tu dispositivo/emulador.

Dependencias principales

Estructura del proyecto

Imagify/
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/jmdev/app/imagify/
│   │   │   │   ├── data/        # Repositorios y lógica de datos
│   │   │   │   ├── model/       # Modelos de dominio
│   │   │   │   ├── module/      # Inyección de dependencias
│   │   │   │   ├── network/     # API y servicios
│   │   │   │   ├── presentation/# UI y pantallas
│   │   │   │   ├── utils/       # Utilidades
│   │   │   ├── res/             # Recursos gráficos y strings
│   ├── build.gradle.kts
├── assets/                      # Screenshots
├── README.md

🧪 Pruebas y calidad del código

Imagify incluye pruebas unitarias que validan la configuración base de la aplicación y la integración de dependencias con Koin y Coil.

El archivo principal de tests es:

app/src/test/java/com/jmdev/app/imagify/AppTest.kt

Qué se prueba:

  • ✅ Verificación de módulos de Koin (appModule.verify())

  • ✅ Configuración correcta del ImageLoader de Coil

    • Políticas de caché de memoria y disco habilitadas

    • Existencia de cachés en memoria y disco

  • ✅ Correcta inicialización del entorno de test con Dispatchers.setMain

Créditos y agradecimientos


¡Contribuciones y sugerencias son bienvenidas! ⭐

About

Android app to search, download and share images from Unsplash.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages