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!
- 🖼️ 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
| Pantalla Principal | Búsqueda | Detalle de Imagen |
|---|---|---|
![]() |
![]() |
![]() |
- Clona el repositorio:
git clone https://github.com/juanmadev5/Imagify.git
- Abre el proyecto en Android Studio.
- Configura tu clave de API de Unsplash:
- Ve a
app/src/main/java/com/jmdev/app/imagify/Constants.kty agrega tu API Key en la constanteAPI_KEY.
- Ve a
- Sincroniza dependencias y ejecuta en tu dispositivo/emulador.
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
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
- Fotos proporcionadas por Unsplash
- Iconos de Material Icons
- Desarrollado por @juanmadev5
¡Contribuciones y sugerencias son bienvenidas! ⭐


