Android application to fetch the current location of the device and get nearby English language Wikipedia articles.
- Kotlin
- RxJava & RxAndroid
- Dagger 2
- Retrofit
- OkHttp
- Junit
- Mockk
- Hamcrest
- MockWebServer
- Architecture Components
There are three main modules,
-
domaincontains business objects, usecases and repositories. It is a java module. -
dataprovides repository implementations. -
appis the presentation layer which uses MVVM pattern. Dagger is used as DI in this module
-
domain module: JUnit and Mockk for unit tests are used here.
-
data module: Robolectric, MockWebServer, JUnit and Mockk for unit tests are used here.
-
data module: JUnit and Mockk for unit tests are used here. There is no UI tests(Espresso) due to time limit.
Detekt is used for static code analysis for Kotlin.
.idea/codeSytles folder is shared in the repository.
-
Main branch is
master -
Work on
feature branchesand do PRs to merge them tomaster.
- CircleCI is used as CI
- RxLocation is used for retrieving location, more tests needed on different phone models for these library.
- Suggested rule info feature hasn't been implemented due to lack of related Google API key. Will be fixed soon