Skip to content
Plus-Mobile-AppsPublic

About

KMP app - recipe keeper, grocery list, and meal planner

Resources

Stars

9 stars

Watchers

0 watching

Forks

Latest commit

 

History

486 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chef Mate

A Kotlin Multiplatform app that is a mate to any chef in the kitchen managing recipes, grocery lists, and meal planning. It is available on Android, iOS, MacOS, Windows & Linux.

Download Page

Getting Started

This is a Kotlin Multiplatform project. The client app targets Android, iOS (plus a watchOS companion), and Desktop (JVM), and is backed by Supabase. A separate admin dashboard targets Web (WASM) and Desktop. It aims to share as much code as possible in a modular way, so the general file structure of the project is as follows:

  • client - all the shared client code and client application code
    • composeApp - the compose multiplatform applications
    • aichat - AI chat and recipe extraction flows
    • auth - authentication data, UI, and use cases
    • bottomnav - bottom navigation and tab ordering
    • browser - in-app recipe browser and browser history
    • cook - cook mode and active cooking sessions
    • database - client database
    • developer-settings - debug-only developer settings and test-user support
    • family - family groups, roles, and member management
    • featureflag - feature flag evaluation, overrides, and admin-facing data
    • notifications - in-app notifications and invites
    • onboarding - first-run onboarding flow (includes a standalone demo app)
    • profile - user profile management
    • root - root BLoC (business logic component) to manage navigation of the whole app
    • grocery - grocery data plus list and detail BLoCs
    • meal - meal planning data and UI logic
    • recipe - recipe data, list/detail flows, categories, import, and export
    • recipebook - recipe book data and editing flows
    • settings - settings root, app settings, and more menu flows
    • shared - common client code
    • subscription - premium subscription state and gating
    • testing - common testing helpers
    • text - shared text and resource helpers
    • toast - app-wide toast/snackbar service
    • ui - shared Compose UI components, theme, robots, and screenshot tests
    • util - shared utility APIs and implementations
  • admin - Compose Multiplatform admin app for managing feature flags
  • iosApp - iOS application shell, share extension, and watchOS companion app
  • supabase - Supabase migrations and backend configuration
  • docs - architecture, deployment, deep linking, and feature documentation
  • build-logic - all the convention plugins to share logic of modular libraries
  • devkit - shared Gradle snippets for module conventions
  • fastlane - store release automation
  • packaging - desktop installer packaging assets
  • scripts - local development and release helper scripts

Android

./gradlew :client:composeApp:installDebug

Desktop (JVM)

./gradlew :client:composeApp:run

iOS

To build and run the development version of the iOS app, use the run configuration from the run widget in your IDE’s toolbar or open the /iosApp directory in Xcode and run it from there.

Documentation


Libraries Used

Shared

Client

Backend

  • Supabase - Postgres, auth, storage, realtime, and edge functions (see supabase)

Tooling

Testing

About

KMP app - recipe keeper, grocery list, and meal planner

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages