Skip to content

Naveentp/Clean-MVVM-NewsApp

Repository files navigation

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

Donation

If this project help you reduce time to develop, you can buy me a cup of coffee :)

Buy Me A Coffee

Thank you!