android / architecture-samples
git clone https://github.com/android/architecture-samples.git
🔥 on GitHub Trending today
Sample Android TODO app showing different architecture patterns, implemented across branches with Jetpack Compose, ViewModels, Room, and Hilt.
Why you might care
Useful for developers learning how to structure a testable Android app with a repository, data sources, ViewModels, and Hilt. It is a teaching sample, not a template or production app, and the README notes that other branches implement the same app with different approaches.
+-16
stars, 24h · #62,443
+40
stars, 7 days · #5,000
+~-100
stars, 30 days · #62,423
46k
★ total · +0% this week
12k
forks · 228 open issues
Star history (as recorded here)
LanguageKotlin
LicenseApache-2.0
Created2016-02-05 (10y ago)
Last push1d ago
Watchers2.4k
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #13 weekly in kotlin · +40 ★
GitHub topics
Links
README excerpt
# Android Architecture Samples These samples showcase different architectural approaches to developing Android apps. In its different branches you'll find the same app (a TODO app) implemented with small differences. In this branch you'll find: * User Interface built with **Jetpack Compose** * A single-activity architecture, using **Navigation Compose**. * A presentation layer that contains a Compose screen (View) and a **ViewModel** per screen (or feature). * Reactive UIs using **Flow** and **coroutines** for asynchronous operations. * A **data layer** with a repository and two data sources (local using Room and a fake remote). * Two **product flavors**, `mock` and `prod`, to ease development and testing. * A collection of unit, integration and e2e **tests**, including "shared" tests that can be run on emulator/device. * Dependency injection using Hilt. ## Screenshots ## Why a to-do app? The app in this project aims to be simple enough that you can understand it quickly, but complex enough to showcase difficult design decisions and testing scenarios. For more information, see the app's specification. ## What is it not? * A template. Check out the Architecture Templates instead. * A UI/Material Design sample. The interface of the app is deliberately kept simple to focus on architecture. Check out the Compose Samples instead. * A real production app with network access, user authentication, etc. Check out the Now in Android app instead. ## Who is it for? * Intermediate developers and beginners looking for a way to structure their app in a testable and maintainable way. * Advanced developers looking for quick reference. ## Opening a sample in Android Studio To open one of the samples in Android Studio, begin by checking out one of the sample branches, and then open the root directory in Android Studio. The following series of steps illustrate how to open the sample. Clone the repository: [code] Finally open the `architecture-samples/` directory in Android Studio. ### License [code]
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.