Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Custom Recipebook

A Kotlin + Jetpack Compose cookbook for Android. Keep family recipes in a warm terracotta-and-sand book: import a PDF, snap a page, or type a recipe by hand. Ingredient lines toggle as a checklist, format as quantity measurement: ingredient, switch US ↔ Grams on the recipe page (cups and spoons convert with typical weights), and a batch scaler multiplies every quantity.

The book ships empty. Everything on Home comes from a PDF, a photo, or a recipe you type.

What’s in v1

  • Recipes home — Custom Recipebook header, All · Dinner · Baking · Saved filters. Tap + to reveal PDF / Camera / Manual. Empty state points at that plus button.
  • Add recipe — pick a PDF (application/pdf document picker), take or choose a photo, or enter a recipe manually.
  • PDF import — copies the file into app storage, reads a text layer when one exists, then opens a single review form (title, times, servings, ingredients, directions, notes). Dual metric on an ingredient line is dropped when a cup/spoon unit is present (2 cups (250g) flour → 2 cups: flour). Parenthetical notes stay on that same ingredient (1 onion (diced) is one line). Yield / Serves / Makes fill servings; volume yields such as Yield: 2 cups stay out of the ingredient list (the number goes to servings, the yield phrase to Notes). Prep / Cook / Total times fill when labeled. If extract fails, the PDF is still attached and you fill the form.
  • Recipe detail — optional hero photo, Edit (opens the same form as create/review and updates that recipe), US / Grams toggle (Grams converts cups, tablespoons, and teaspoons using typical ingredient densities; ~ marks an approximate weight), Prep / Cook / Total chips when set, servings + batch scale (− / N× / +), tappable ingredient checklist (2 cups: all-purpose flour), numbered directions. PDF recipes can reopen the attached file.
  • Shopping & Settings — shopping lists ingredients you’ve checked off; settings stores the default unit system and can clear checklists.
  • Local persistence — Room for recipes, attachments, and checklist state; DataStore for the unit preference. No account or backend.

Requirements

  • Android Studio Ladybug / Koala or newer (or command-line SDK)
  • JDK 17+
  • Android SDK 35, Build-Tools 35.0.0
  • minSdk 26, targetSdk 35

Run locally

# Point Gradle at your SDK (Android Studio does this for you)
echo "sdk.dir=$ANDROID_HOME" > local.properties

./gradlew :app:assembleDebug

Install the debug APK:

adb install -r app/build/outputs/apk/debug/app-debug.apk

A copy of the last successful debug build is also written to dist/CustomRecipebook-debug.apk.

Open the project folder in Android Studio and run the app configuration on a phone or emulator (portrait).

Package

com.customrecipebook.app (debug builds use .debug suffix)

Tests

./gradlew :app:testDebugUnitTest

Notes

  • Camera and storage access are used only when you choose those import paths.
  • PDF text comes from the file’s text layer (content streams). Scanned image-only PDFs still import as an attached file with an editable blank recipe.
  • Camera import attaches the photo; it does not run OCR in v1.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages