Clean-MVVM-NewsApp
An Android application built using Clean + MVVM architecture.
Featured in
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
Screenshots
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 moduleRemote module- Cache module
- Data module
- Presentation Module
- App module
Thank you!