YuiKitchen - personal offline recipe book for Android (Kotlin, Jetpack Compose, Room)
- Kotlin 100%
| app | ||
| gradle | ||
| yui-design@81e4045a82 | ||
| .gitignore | ||
| .gitmodules | ||
| build.gradle.kts | ||
| DESIGN.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| project.md | ||
| README.md | ||
| settings.gradle.kts | ||
YuiPeachy
A personal cookbook app for Android 14+. Fully offline, with a Ukrainian-language UI.
The Android package is still com.kitchen.app (changing the applicationId would make it a different app and lose user data on update).
Features
- Recipes with photos, ingredients, steps, notes, cooking time and optional temperature
- 10 categories (a recipe can have several), search ignoring case and apostrophes, filters
- Favorites, "cooked" counter, step-by-step cooking mode
- Shopping cart grouped by recipe, with merging of repeated items
- Export / import as a ZIP (
recipes.json+images/), duplicates detected by uuid - Recipe export to PDF (A4, with watermark)
- Light / dark theme, animated splash and onboarding
Stack
Kotlin, Jetpack Compose (Material 3), Room (KSP), DataStore, Navigation Compose, Coil 3, Gradle 9.8 / AGP 9.5 with a version catalog. minSdk 34.
Build
$env:JAVA_HOME = 'C:\Program Files\Android\Android Studio\jbr'
.\gradlew.bat assembleDebug testDebugUnitTest
.\gradlew.bat assembleRelease
A release build is signed only if YUIPEACHY_KEYSTORE and YUIPEACHY_KEYSTORE_PASSWORD environment variables are set (alias yuipeachy). Without them the release APK is unsigned. The keystore and password are not part of this repository.
Output: app/build/outputs/apk/release/app-release.apk.
Documentation
See project.md for architecture, data model, known quirks and signing notes (in Ukrainian).