recipe-manager/mobile
2026-11-01 15:20:44 -05:00
..
android Apply compileSdkVersion 35 strictly to non-app plugin subprojects 2026-11-01 15:20:44 -05:00
ios/Runner Add ForkFolio mobile app and GitLab CI pipeline to automatically build release APK 2026-11-01 13:15:21 -05:00
lib Add ForkFolio mobile app and GitLab CI pipeline to automatically build release APK 2026-11-01 13:15:21 -05:00
pubspec.yaml Add ForkFolio mobile app and GitLab CI pipeline to automatically build release APK 2026-11-01 13:15:21 -05:00
README.md Add ForkFolio mobile app and GitLab CI pipeline to automatically build release APK 2026-11-01 13:15:21 -05:00

ForkFolio Mobile 📱🍳

Cross-platform mobile application for ForkFolio built with Flutter, featuring deep Android Share Target ingestion, multimodal Gemini Vision Camera Scanning, and distraction-free Cook Mode.


✨ Features

  • Interactive Share Target (ACTION_SEND):
    • Tap "Share" from Chrome, Instagram, TikTok, Reddit, or YouTube directly to ForkFolio.
    • Pops an interactive bottom sheet that sanitizes URLs, extracts captions, scrapes details, and lets you preview & tag before saving.
  • Camera Recipe Scanner:
    • Point the camera at physical cookbooks, magazine pages, or handwritten recipe cards.
    • Direct ingestion into ForkFolio's POST /api/recipes/scan-photo powered by server-side Gemini 2.5 Flash Vision.
  • Kitchen Cook Mode:
    • Automatic Wakelock keeps the screen awake so you don't touch your phone with flour or messy hands.
    • Large, counter-readable typography with swipeable step cards.
    • Live serving size scaling (0.5x, 1x, 1.5x, 2x) recalculating ingredient amounts on the fly.
    • Integrated cooking timers with audible alerts.
  • Hardware-Backed Persistent Authentication:
    • Connects using ff_m_... device tokens stored in Android Keystore (EncryptedSharedPreferences) or iOS Keychain.
    • Sliding 90-day inactivity expiration.
    • One-click remote device revocation via ForkFolio web settings.

🚀 Getting Started

1. Prerequisites

  • Flutter SDK (version >= 3.2.0)
  • Android Studio with Android SDK (API 34+) or VS Code with Flutter extension
  • An active ForkFolio instance accessible over HTTPS

2. Install Dependencies

cd forkfolio-mobile
flutter pub get

3. Run in Development

Connect an Android device or launch an emulator, then run:

flutter run

4. Build Release APK

flutter build apk --release

The resulting APK will be located at: build/app/outputs/flutter-apk/app-release.apk


🔒 Security & Networking

  • Server Connection: Enter your public HTTPS domain (e.g. https://recipes.yourdomain.com).
  • Credentials: Log in once with your standard username/password. The app automatically registers with your device model name (e.g. "Google Pixel 8 Pro") and receives an encrypted persistent token.
  • Revocation: At any time, you can visit the ForkFolio web app, open Settings -> Linked Mobile Devices, and tap "Revoke" to immediately cut off mobile access.