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,
-
domain
contains business objects, usecases and repositories. It is a java module. -
data
provides repository implementations. -
app
is 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 branches
and 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