yarc (yet another reddit client) is a simple Android app created to showcase some Android technologies. The app contains two screens: the first screen contains a list of posts from the android community subreddit and the second contains the selected post details.
- Kotlin
- Android Support
- Android Material
- OkHttp
- Retrofit
- Koin
- Kotlin Serialization
- Coroutines
- Flow
- Paging 3
- View Binding
- Glide
- Navigation
- Groupie
- Markon
- Mockk
- Truth
- JUnit5
- MockWebServer
- Espresso
The application follow Google's recommended architecture. The main reason to follow this model instead of Uncle Bob's Clean Architecture is to avoid some unnecessary complexity from adding a domain layer, which doesn't make sense in this application context, for two reasons:
- The domain layer will only act as a proxy, not containing meaningful code;
- Less code, less bugs, less effort to fix the bugs that will emerge.
- JDK 1.8
- Android SDK
- Android 5.0 or greater
Execute the following commands in project root:
./gradlew installDebug
- Install the debug apk on the current connected device
./gradlew test
- Run all unit tests
./gradlew connectedAndroidTest
- Run all instrumented tests