- Dagger2
- RxJava2
- Retrofit2
- AndroidX (ViewModel, LiveData)
- JUnit
- Mockito
- app: contains Application class, article, detail and edit feature
- article: contains business logic for list article feature
- base: contains BaseActivity class
- config: configuration scheduler
- data: contains data model
- detail: contains business logic for detail feature
- network: configurate network with retrofit2 and okhttp
- service: configurate article and detail service
- testsupport: contains live data testing support for unit test
- uitestsupport: contains utils for support espresso tests
- util: contains utility classes
- Api host: the host is in appConfiguration.gradle file, under this code
ext.urlConfiguration = [
host : "https://146l9.mocklab.io"
]
So just update the host for connecting to your server.
- Fetching articles list from api /article and show them into a recyclerView
- Fetching detail from api /article/{id} and native to detail screen
- Edit detail
- Edit detail and save, native to detail screen and show the editted text
- Sorted articles list base on last update
1.Unit test with JUnit and Mockito
2.Espresso test with mockweb server and core espresso libirary
The api that you provide is limited by number of request per days.