Work in Progress
An Android app for finding cocktail recipes.
- Kotlin 1.6.x
- Kotlin Coroutines
- Kotlin Flow
- Jetpack: Navigation, ViewModel, LiveData, Data Binding, Room
- Hilt for dependency injection
- Retrofit HTTP client
- Cocktail recipes from TheCocktailDB API
- Moshi for JSON
- Glide - image loading/caching
- mockk, kotest
- Code Quality tools:
- Static analysis:
- Auto-formatting:
- Git hooks:
- pre-commit hook will run spotlessApply to format the code
- pre-push hook will run detekt & spotlessCheck to catch static analysis or formatting issues before you push & they fail on CI
- JaCoCo:
- Currently disabled - not detecting all Kotlin source classes
- Uses some Domain-Driven Design (DDD) concepts to decouple network, database, & domain layers. Why? Check out this great Medium article on DDD and the Repository pattern in Android.
See TheCocktailDB API page for resources. This project contains a Postman Collection (v. 2.1) here.
App Icon/NavHeader: Mojito Icon
Icons made by Freepik from www.flaticon.com