📈 GH Trending Explorer 🎲 Surprise me

← all repos

android / nowinandroid

git clone https://github.com/android/nowinandroid.git 0.1.1 · 3y ago 🔥 on GitHub Trending today

Reference Android app built entirely in Kotlin and Jetpack Compose that delivers Now in Android news and content updates.

Why you might care

Useful as a reference for Android design and development best practices, with documented architecture and modularization learning journeys. Study its Compose UI, layering, and multi-module structure when building your own app.

Categories

Alternatives

Compose SamplesSunflower
+7
stars, 24h · #4,861
+~14
stars, 7 days · #10,724
+~60
stars, 30 days · #11,358
22k
★ total · +0% this week
4.7k
forks · 281 open issues

Star history (as recorded here)

2026-10-20 · 21,948 ★ 2026-10-23 · 21,954 ★
LanguageKotlin
LicenseApache-2.0
Created2022-04-19 (4y ago)
Last pushtoday
Watchers436
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #6 daily in kotlin · +5 ★

GitHub topics

Links

README excerpt
Now in Android App
==================
**Learn how this app was designed and built in the design case study, architecture learning journey and modularization learning journey.**
This is the repository for the Now in Android
app. It is a **work in progress** 🚧.
**Now in Android** is a fully functional Android app built entirely with Kotlin and Jetpack Compose. It
follows Android design and development best practices and is intended to be a useful reference
for developers. As a running app, it's intended to help developers keep up-to-date with the world
of Android development by providing regular news updates.
The app is currently in development. The `prodRelease` variant is available on the Play Store.
# Features
**Now in Android** displays content from the
Now in Android series. Users can browse for
links to recent videos, articles and other content. Users can also follow topics they are interested
in, and be notified when new content is published which matches interests they are following.
## Screenshots
# Development Environment
**Now in Android** uses the Gradle build system and can be imported directly into Android Studio (make sure you are using the latest stable version available here). 
Change the run configuration to `app`.
The `demoDebug` and `demoRelease` build variants can be built and run (the `prod` variants use a backend server which is not currently publicly available).
Once you're up and running, you can refer to the learning journeys below to get a better
understanding of which libraries and tools are being used, the reasoning behind the approaches to
UI, testing, architecture and more, and how all of these different pieces of the project fit
together to create a complete app.
# Architecture
The **Now in Android** app follows the
official architecture guidance 
and is described in detail in the
architecture learning journey.
# Modularization
The **Now in Android** app has been fully modularized and you can find the detailed guidance and
description of the modularization strategy used in
modularization learning journey.
# Build
The app contains the usual `debug` and `release` build variants. 
In addition, the `benchmark` variant of `app` is used to test startup performance and generate a
baseline profile (see below for more information).
`app-nia-catalog` is a standalone app that displays the list of components that are stylized for
**Now in Android**.
The app also uses
product flavors to
control where content for the app should be loaded from.
The `demo` flavor uses static local data to allow immediate building and exploring of the UI.
The `prod` flavor makes real network calls to a backend server, providing up-to-date content. At 
this time, there is not a public backend available.
For normal development use the `demoDebug` variant. For UI performance testing use the
`demoRelease` variant. 
# Testing
To facilitate testing of components, **Now in Android** uses dependency injection with
Hilt.
Most data layer components are defined

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.