The app that let you capture the colors of your surrounding.
You can check the app design here.
- CameraX capturing colors.
- SQLDelight Database.
- Jetpack compose for UI.
- Compose Destination for navigation.
- Hilt Dependency Injection.
- Mockk Testing.
- Ktlint for formatting.
- Gradle Versions Plugin for checking all dependencies for new versions.
- GitHub Actions for running continuous integration and ensuring code quality with every PR.
You may notice that dependencies are set up in a very specific way. Each of the tools has its own Gradle file in the buildscripts folder. This is by design so that if you chose to have a multi module project, these dependencies can easily be shared between them. This is already configured inside our root build.gradle
file, by applying to each sub project:
subprojects {
apply from: "../buildscripts/ktlint.gradle"
apply from: "../buildscripts/versionsplugin.gradle"
}
In addition, there is a versions.gradle file which includes the version numbers of all dependencies used inside the app module. The benefit of moving them here, is that if any dependencies are shared between two modules, we only have to update the version number in one spot. As an added bonus, each dependency version also has a comment linking to the release page, so you can quickly reference to see what's changed.