Skip to content

Plus-Mobile-Apps/chef-mate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

246 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 targeting Android, iOS, Web, Desktop (JVM), Server. 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
    • featureflag - feature flag evaluation, overrides, and admin-facing data
    • 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
    • testing - common testing helpers
    • text - shared text and resource helpers
    • 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 and share extension
  • 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
  • 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

Server

Testing