Skip to content

Logarex/AvoCook

Repository files navigation

AvoCook

AvoCook is a mobile recipe app I'm building for personal use and to learn how to run a complete React Native project end to end.

The idea is simple: keep your recipes in one place, use them offline, and sync with Nextcloud Cookbook if you already have a server.

App Store · Android APK · APK downloads

AvoCook login Recipe detail

What the app can do

  • create and edit recipes locally;
  • organise recipes by category;
  • add photos;
  • scan recipes from photos or generate recipes from pictures of dishes using AI (requires API key);
  • import a recipe from a URL when the site exposes schema.org/Recipe data;
  • receive shared URLs from other apps (like web browsers) to quickly import recipes;
  • adjust quantities based on the number of servings;
  • copy ingredients to the clipboard;
  • start cooking timers;
  • export a recipe as PDF or print it;
  • back up / restore recipes to a JSON file;
  • sync with Nextcloud Cookbook, if the user wants to;
  • sync with the iOS Reminders app to leverage Apple's sharing features.

Local mode requires no account. Data stays on the device.

Development setup

The project uses Expo, React Native and TypeScript.

npm install
npm run start

Then open the app with Expo Go or a development build.

Useful commands:

npm run typecheck
npm test
npm run lint
npm run import:check -- <recipe-url>

Nextcloud Cookbook

To test synchronisation:

  1. Install the Cookbook app on a Nextcloud instance.
  2. Create an app password in the security settings.
  3. Enter the server URL, username, and that password in AvoCook.

The app rejects remote servers over HTTP. HTTP is accepted for localhost during development.

Android

APKs are published in the GitHub releases. The main file to install is avocook.apk.

Project structure

  • src/screens: application screens;
  • src/components: reusable components;
  • src/features/recipes: local storage, sync, and recipe logic;
  • src/features/nextcloud: HTTP client for Cookbook;
  • src/features/import: recipe import from web pages;
  • src/modules/avocook-timer-notifications: small native module for timer notifications.

Support the project ☕

If you enjoy AvoCook and want to help me fund the costs, you can make a donation:

Licence

This project is licenced under the GPLv3 licence.

About

Modern kitchen app (iOS & Android) that can be used locally or synchronized with Nextcloud Cookbook.

Topics

Resources

License

Stars

Watchers

Forks

Contributors