Repolode
android

android/architecture-samples

A TODO app sample by Google, implemented in several branches to compare Android architecture patterns, tools and testing approaches.

Stars
45,879
Forks
11,850
Open issues
228
Last commit
yesterday

What is it?

This repository collects sample Android apps that implement the same TODO app with different architectural approaches. Each branch shows a different set of tools and patterns, so developers can compare how the same features are structured.

The branch described here is built with Jetpack Compose and uses a single-activity architecture with Navigation Compose. Each screen has a Compose view and a ViewModel, with Flow and coroutines handling asynchronous work. The data layer contains a repository backed by a local Room database and a fake remote data source. Hilt provides dependency injection, and the project defines `mock` and `prod` product flavors.

The project includes unit, integration and end-to-end tests, including shared tests that run on an emulator or device. It is intended as a teaching reference rather than a template or production app, and the app itself is deliberately simple in its UI.

Key features

  • 01Jetpack Compose UI with a single-activity architecture and Navigation Compose
  • 02ViewModel per screen, with Flow and coroutines for reactive state
  • 03Repository data layer with Room local storage and a fake remote source
  • 04Hilt dependency injection
  • 05mock and prod product flavors
  • 06Unit, integration and end-to-end tests, including shared tests

Use cases

  • Learning how to structure an Android app with Compose, ViewModel and a repository
  • Comparing architectural approaches for the same app across branches
  • Using the testing setup as a reference for unit and instrumented tests

Quick start

  1. 1

    Clone the repository

    git clone git@github.com:android/architecture-samples.git
  2. 2

    Open the architecture-samples/ directory in Android Studio

Things to know

  • Requires Android Studio to build and run the app.
  • Each architecture approach lives in a different branch, so you must check out the branch you want.

Topics

FAQ

What is architecture-samples?
A TODO app sample by Google, implemented in several branches to compare Android architecture patterns, tools and testing approaches. This repository collects sample Android apps that implement the same TODO app with different architectural approaches. Each branch shows a different set of tools and patterns, so developers can compare how the same features are structured.
Is architecture-samples free to use? What license does it have?
architecture-samples is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is architecture-samples still maintained?
Actively maintained. The last commit to architecture-samples was on Oct 20, 2026.
What can I use architecture-samples for?
Learning how to structure an Android app with Compose, ViewModel and a repository Comparing architectural approaches for the same app across branches Using the testing setup as a reference for unit and instrumented tests
How do I install architecture-samples?
Clone the repository: git clone git@github.com:android/architecture-samples.git Open the architecture-samples/ directory in Android Studio
Where can I get architecture-samples?
The source code and installation instructions are on GitHub: https://github.com/android/architecture-samples

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

Related projects