Repolode
igorwojda

igorwojda/android-showcase

Aplicación Android de referencia en Kotlin que muestra Clean Architecture, diseño modular por funcionalidades, Jetpack Compose y plugins de convenciones de Gradle.

Estrellas
6,810
Forks
902
Issues abiertos
7
Último commit
hace 3 días

¿Qué es?

Android Showcase es una aplicación Android de ejemplo creada con Jetpack Compose que muestra información de álbumes de la API de Last.fm, con búsqueda, detalles de álbumes y caché local mediante Room. Su objetivo principal es mostrar cómo estructurar una base de código Android con un enfoque de producción, no ofrecer un producto de consumo terminado. Las pantallas de favoritos y perfil todavía están en desarrollo.

El proyecto divide la aplicación en módulos de funcionalidades (album, profile, favourite), además de módulos compartidos base y library. Cada funcionalidad sigue una arquitectura Clean Architecture de tres capas: presentation, domain y data. Combina MVVM con un flujo de estado único de la interfaz, al estilo MVI, mediante Kotlin Flow. La lógica de compilación está en plugins de convenciones y las versiones de las dependencias se gestionan con un catálogo de versiones de Gradle.

La configuración también incluye herramientas de calidad: pruebas de arquitectura con Konsist, Detekt, Ktlint, Spotless, Android Lint y un flujo de CI en GitHub Actions. Koin se encarga de la inyección de dependencias; Retrofit y Coil, de las solicitudes de red y las imágenes; y JUnit, junto con Mockk y Kluent, de las pruebas.

Funciones clave

  • 01Lista de álbumes con búsqueda y pantallas de detalles, conectada a la API de Last.fm
  • 02Módulos de funcionalidades con Clean Architecture de tres capas y estado al estilo MVVM más MVI
  • 03Plugins de convenciones de Gradle y catálogo de versiones centralizado
  • 04Comprobaciones con Konsist, Detekt, Ktlint, Spotless y Android Lint integradas en CI
  • 05Caché local con Room, inyección de dependencias con Koin e interfaz basada en Compose

Casos de uso

  • Estudiar cómo estructurar una aplicación Android multimódulo con Clean Architecture
  • Usar los plugins de convenciones y los catálogos de versiones de Gradle como plantilla para un proyecto nuevo
  • Ver ejemplos de pruebas de arquitectura con Konsist y de configuración de análisis estático
  • Aprender a combinar Jetpack Compose, Flow y Koin en una aplicación realista

Antes de usarlo

  • Las funciones de Favorites y Profile aún están en desarrollo.
  • Las pruebas de interfaz de usuario con Espresso aún están en desarrollo.

En colecciones

Temas

Preguntas frecuentes

¿Qué es android-showcase?
Aplicación Android de referencia en Kotlin que muestra Clean Architecture, diseño modular por funcionalidades, Jetpack Compose y plugins de convenciones de Gradle. Android Showcase es una aplicación Android de ejemplo creada con Jetpack Compose que muestra información de álbumes de la API de Last.fm, con búsqueda, detalles de álbumes y caché local mediante Room. Su objetivo principal es mostrar cómo estructurar una base de código Android con un enfoque de producción, no ofrecer un producto de consumo terminado. Las pantallas de favoritos y perfil todavía están en desarrollo.
¿android-showcase es gratuito? ¿Qué licencia tiene?
android-showcase es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿android-showcase sigue mantenido?
Mantenimiento activo. El último commit de android-showcase fue el 3 nov 2026.
¿Para qué puedo usar android-showcase?
Estudiar cómo estructurar una aplicación Android multimódulo con Clean Architecture Usar los plugins de convenciones y los catálogos de versiones de Gradle como plantilla para un proyecto nuevo Ver ejemplos de pruebas de arquitectura con Konsist y de configuración de análisis estático Aprender a combinar Jetpack Compose, Flow y Koin en una aplicación realista
¿Dónde consigo android-showcase?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/igorwojda/android-showcase

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados