Simple basketball shot clock app .
Android Studio 3.0 or newer.
- Kotlin - App is purely written in kotlin.
- Coroutines
- Jetpack Compose
- Firebase Crashlytics - For crash reporting.
- Mockito - For mocking objects in unit testing.
- Mockito-Kotlin - Helper class for using mockito with kotlin.
- jUnit - For unit testing.
- Kaspresso - For UI testing.
- Kakao - For UI testing.
- DataStore Preferences - For storing app settings.
I found myself with nothing to do on a Saturday morning. Since me and my friends play basketball quite often and we usually just use shot clock apps that are already available in play store. So, I thought, "why not create one of my own?". That's when I decided to create this app.
- Update tech stack of the app
- Coroutines - Done
- Update Architecture (ViewModels, Package by Feature) - Done
- Jetpack Compose
- Main - Done
- Settings - DONE
- Add UI Tests
- Initial state should have timer to 24
- +1 button should increment timer
- +1 button should NOT increment timer IF timer is equal to 24
- +1 button should NOT increment timer IF timer is equal to 14
- -1 button should decrement timer
- -1 button should NOT decrement timer IF timer is equal zero
- Reset button should reset timer to 24
- Reset button should reset timer to 14
- Swiping left should change page to 14
- Swiping right should change page to 24
- Clicking 14 page preview should change page to 14
- Clicking 24 page preview should change page to 24
- Clicking settings should navigate to settings
- Test theme change
- Add Unit Tests
- Play button should play timer
- Play button should pause timer
- Timer should reset to 24 when timer is completed
- Timer should reset to 14 when timer is completed
- Add ktlint pre-commit hook
- Setup CI/CD on Bitrise