Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 3.43 KB

File metadata and controls

49 lines (34 loc) · 3.43 KB

News App using MVVM, Kotlin, Coroutine, Flows, Koin, Unit Test

In this repository I tried to create an Android project using Advanced technologies like MVVM design pattern, Kotlin (Koin, Coroutine, Flows) etc. The purpose of creating this repository to use in technical test / interview and personal usage for the best Android app development practice.

App Details:

newsScreen Screenshot 2022-08-13 at 22 40 57 Screenshot 2022-08-13 at 22 41 32

Features:

  1. News list: User can read the latest news based on their location.
  2. Search News: User can search news according to the keyword where user can see the latest headlines.
  3. Save Favorite News: User can save the interesting news in the favorite section.
  4. From the drawer menu user can read news according to the category.

Used Technologies

I tried to build this application following these terms. which are:

  • performance
  • readability
  • maintainability
  • testability
  • scalability
  • simplicity

The tools I have used to gain the Android Clean Architecture are:

Unit Test

For unit test I used Junit, where I tried two ways plain Unit test and Android instrumented unit test. For saving favorite news I used instrumented unit test for following test which Empty list check, Saved favorite list size test, news item already saved or not. Here is the test case result:

Screenshot 2022-08-13 at 22 54 37

API Specification

For this repository I have used a public news api. News Data: structured, relevant, real-time Search multi-language worldwide news articles published online with NewsCatcher's News API. Here is the link: https://newscatcherapi.com/

Screenshot 2022-08-13 at 22 49 18