Cavity is a wine cellar manager for Android. It follows Material Design 2 principles to have a clear and simple user interface.
Since google in doing everything they can to prevent independant developer from maintaining their apps their, the app will no longer receive update on play store and might disappear soon. The app is now maintained on F-Droid and apk is published in the github release section. After installing the F-Droid client, you can download app here:
- Stock management
- Highlights peaking bottles
- Stock history
- Handle friends (Give a bottle to someone, share with a friend...)
- Buy & consumptions stats
- Search
- Tasting sessions: decanting notification, chill a bottle
Cavity use gold as its color primary and no secondary color to emphasize luxurious and classy wine atmosphere.
Primary gold is used sparingly as it breaks the gold effect when using it in large surfaces.
The app is designed to be used in dark mode, but the light version is also supported for light mode lovers.
Clone the project, and you're ready to build and run it via Android Studio.
Cavity use Kotlin, Coroutines, Room, LiveData, ViewPager2 with a standard MVVM pattern.
This project uses CI/CD. Workflows are triggered when pushing a tag using this pattern : x.x.x, and create a github release with apk file linked F-Droid store automatically picks up the apk file from there.
Things to do to prepare a release:
- Merge target code into master branch
- Update
/metadata/<languages>/changelogs.txt
- Update
/app/build.gradle
: increment version code & update version name - Update
/app/src/AndroidManifest.xml
: increment version code & update version name - Check for database changes & migration
- Commit previous changes, using name:
[version name]
- Create and push a tag named version name
Pin your app (Enable pinned app in android settings, then pin Cavity)
WARNING: the monkey might play your music very loud at random moments when using it
Run this command from your terminal:
./adb shell monkey -p com.louis.app.cavity -v 1000 --pct-nav 0
where -v 1000
is the number of inputs sent to the phone.