Android application of the card game "War".
It's based on Clean Architecture: MVI, Use Cases, Repositories and Data Sources. Although it may feel like a little overdesigned (since, after all the layers it relies on an object that process everything in memory), it scales to connect it to an API by changing the data sources. And, in the end, the main goal of this is exposure and try new tech.
- Kotlin
- Architecture Components
- Kotlin Coroutines/Flow
- Hilt
- Compose
- Compose Navigation
- JUnit
- Kluent
- Mockk
- Espresso
There's already a workflow available for downloading the last stable build at https://github.com/feragusper/Warofsuits/actions
Since this uses gradle 7, it requires java 11 to run.
- Use
./gradlew assemble
to build it, or run it in Android Studio. - Use
./gradlew connectedAndroidTest
to run the tests on a connected emulator or device. - Use
./gradlew test
to run the unit test on your local host.
If you've found an error in this project, please file an issue: https://github.com/feragusper/Warofsuits/issues
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub.
Pull requests are welcome.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D