Repolode
igorwojda

igorwojda/android-showcase

A reference Android app in Kotlin showing Clean Architecture, modular feature design, Jetpack Compose, and Gradle convention plugins.

Stars
6,807
Forks
902
Open issues
7
Last commit
yesterday

What is it?

Android Showcase is a sample Android application built with Jetpack Compose that displays album information from the Last.fm API, with search, album details, and local caching through Room. Its main purpose is to demonstrate how a production-style Android codebase can be structured rather than to serve as a finished consumer product. Favorites and profile screens are still work in progress.

The project splits the app into feature modules (album, profile, favourite) plus shared base and library modules. Each feature follows a three-layer Clean Architecture split into presentation, domain, and data, combining MVVM with an MVI-style single UI state flowing through Kotlin Flow. Build logic lives in convention plugins, and dependency versions are managed in a Gradle version catalog.

Quality tooling is part of the setup: Konsist architecture tests, Detekt, Ktlint, Spotless, Android Lint, and a GitHub Actions CI pipeline. Koin handles dependency injection, Retrofit and Coil handle networking and images, and JUnit with Mockk and Kluent covers testing.

Key features

  • 01Album list with search and album detail screens backed by the Last.fm API
  • 02Feature modules with three-layer Clean Architecture and MVVM plus MVI-style state
  • 03Gradle convention plugins and a centralized version catalog
  • 04Konsist, Detekt, Ktlint, Spotless and Android Lint checks wired into CI
  • 05Room local caching, Koin dependency injection and Compose-based UI

Use cases

  • Studying how to structure a multi-module Android app with Clean Architecture
  • Using Gradle convention plugins and version catalogs as a template for a new project
  • Seeing examples of architecture tests with Konsist and static analysis setup
  • Learning how to combine Jetpack Compose, Flow and Koin in a real-style app

Things to know

  • Favorites and Profile features are still work in progress.
  • Espresso UI testing is still work in progress.

In collections

Topics

FAQ

What is android-showcase?
A reference Android app in Kotlin showing Clean Architecture, modular feature design, Jetpack Compose, and Gradle convention plugins. Android Showcase is a sample Android application built with Jetpack Compose that displays album information from the Last.fm API, with search, album details, and local caching through Room. Its main purpose is to demonstrate how a production-style Android codebase can be structured rather than to serve as a finished consumer product. Favorites and profile screens are still work in progress.
Is android-showcase free to use? What license does it have?
android-showcase is open source under the MIT license. Check the license terms before using it in commercial products.
Is android-showcase still maintained?
Actively maintained. The last commit to android-showcase was on Nov 5, 2026.
What can I use android-showcase for?
Studying how to structure a multi-module Android app with Clean Architecture Using Gradle convention plugins and version catalogs as a template for a new project Seeing examples of architecture tests with Konsist and static analysis setup Learning how to combine Jetpack Compose, Flow and Koin in a real-style app
Where can I get android-showcase?
The source code and installation instructions are on GitHub: https://github.com/igorwojda/android-showcase

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects