Skip to content

jmuci/ChefAI

Repository files navigation

Chef AI

Android Automatic Unit Tests Run

ChefAI is a Kotlin-first Android app that allows users to manage their own recipe collection. It also provides a library of recipes for users to browse and save. The app can generate weekly meal plans based on user preferences like low-carb, vegan, or Mediterranean diets, and allows for customization of the meal plan. Additionally, ChefAI can export the list of ingredients needed for a meal plan to a grocery store for purchase or provide a simple grocery list.

Installation

Open with Android Studio.

Usage

This project is still under development.

Documentation

See the docs folder

UI Preview

Below are a couple of the app screens to get an idea of how it looks.

Home Screen MyCollection Screen
Home Screen MyCollection Screen

Overall architecture

architecture diagram

🏗️ Architecture Overview

ChefAI follows a Clean Architecture with an offline-first design.

UI Layer – Jetpack Compose screens with ViewModels that interact only with domain use cases.

Domain Layer – Pure Kotlin business logic, entity models, and repository interfaces.

Data Layer – Dual-source repositories combining Room (SQLite) for local caching and a Ktor network client for backend access.

Sync – Planned: Background WorkManager will handle two-step sync (push local outbox → pull backend deltas). Not yet implemented.

IDs & Storage – All entities use client-generated, time-sortable UUIDv7 IDs; Room provides full-text search and ACID transactions.

Dependency Injection – Hilt modules wire DAOs, network clients, and repositories.

This structure keeps UI reactive, data consistent across devices, and the codebase modular, testable, and ready to scale.

Chosen Libraries

Dependency Injection:

Data Base Layers:

Android UI:

Image Loading:

Networking:

Coroutines:

Utils:

Backend Test End Points

You can use the enpoints hosted in this repo to test the backend: https://github.com/jmuci/ChATestAPI/tree/main?tab=readme-ov-file

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

About

Chef AI is an app that makes it easy to create weekly meal plans and export them to your fav grocery shop for delivery or pickup. The app will also support creating a menu based on a specific diet.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages