Skip to content
Android News app developed using Clean + MVVM architecture
Branch: master
Clone or download
Latest commit eff0a43 Jun 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ART added architecture diagram Jun 2, 2019
app resolved import issues Jun 8, 2019
cache db layer mapper test Jun 11, 2019
domain Unit Tests added for Domain Layer. Jun 8, 2019
gradle/wrapper init push Jun 1, 2019
presentation UI implementation Jun 2, 2019
.gitignore init push Jun 1, 2019
LICENSE Create LICENSE Jun 2, 2019 Update Jun 16, 2019
build.gradle init push Jun 1, 2019
dependencies.gradle init push Jun 1, 2019
gradlew init push Jun 1, 2019
gradlew.bat init push Jun 1, 2019
settings.gradle init push Jun 1, 2019


An Android application built using Clean + MVVM architecture.

Featured in

Awesome Android

Components used in the app.

  • Kotlin - As a programming language.
  • LiveData - Lifecycle aware Observable data holder class.
  • ViewModel - To manage the UI-related data in a lifecycle conscious way.
  • RxKotlin - Used for data manipulations and to switch between main thread and worker thread.
  • Retrofit - For making network calls.
  • Koin - For dependency injection.
  • Room database - To cache the response for offline access.


NewsApp is a tiny little app which brings the latest news from Google news. Internally app uses News API to fetch the details. This app is built using Clean + MVVM architecture, uses Retrofit2 for making API calls and uses Room database to cache the data.





Steps to build the app

  • Create your API key at News API
  • Add the generated API key in app/build.gradle like below
    buildConfigField "String", "NEWS_API_KEY", '"YOUR_NEWS_API_KEY"'
  • Build and run the app.


  • Write test cases for all the modules.
    • Domain module
    • Remote module
    • Cache module
    • Data module
    • Presentation Module
    • App module

Thank you!

You can’t perform that action at this time.