# FlavouredNewsApp This is a java written technical test. The objective is to obtain news articals from an api(https://newsapi.org/) and have 2 separate flavours of the application. ## Requirements - Minimum android version 16 - Permissions : Internet, Network state ## Installation Clone this repository and import into **Android Studio** ## Features - SOLID coding principles applied to keep code clean and easy to read - Android navigation library - Livedata, with lifecycle aware results - Data persistence with room - Picasso for image caching - Recycler view for easy user list display ## Architectural Pattern MVVM - Model View Viewmodel SOLID coding principle ## Jetpack * [AndroidX](https://developer.android.com/jetpack/androidx) ### Unit test - RepositoryTest ## Built With * [Gson](https://github.com/google/gson) - A Java serialization/deserialization library to convert Java Objects into JSON and back * [Dagger 2](https://github.com/google/dagger) - A fast dependency injector for Android and Java. * [Retrofit](https://github.com/square/retrofit) - Type-safe HTTP client for Android and Java by Square, Inc * [Picasso](https://square.github.io/picasso/) - A powerful image downloading and caching library for Android * [Room Persistence Library](https://developer.android.com/topic/libraries/architecture/room) - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite. * [Mockito](https://github.com/mockito/mockito) - Most popular Mocking framework for unit tests written in Java ## Authors * **Haider Malik** - *Android Developer*