Skip to content
Android News app developed using Clean + MVVM architecture
Branch: master
Clone or download
Latest commit eff0a43 Jun 16, 2019
Permalink
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
data
domain Unit Tests added for Domain Layer. Jun 8, 2019
gradle/wrapper init push Jun 1, 2019
presentation UI implementation Jun 2, 2019
remote
shared
.gitignore init push Jun 1, 2019
LICENSE Create LICENSE Jun 2, 2019
README.md Update README.md Jun 16, 2019
build.gradle init push Jun 1, 2019
dependencies.gradle
gradle.properties 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

README.md

Clean-MVVM-NewsApp

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.

Description

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.

Architecture

Architecture

Screenshots

NewsApp

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.

TODO

  • 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.