RecipeSage

A Collaborative Recipe Keeper, Meal Planner, and Shopping List Organizer in PWA form.

Stars
443
Forks
40
Open issues
95
Closed issues
282
Last release
5 months ago
Last commit
5 months ago
Watchers
443
Total releases
258
Total commits
3.77K
Open PRs
9
Closed PRs
729
Repo URL
Platform
License
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

RecipeSage - A Collaborative Recipe Keeper, Meal Planner, and Shopping List Organizer

Share and collaborate on recipes, manage household shopping lists and meal planning, and import recipes from anywhere on the web instantly.

Documentation | Hosted Version | Selfhost Resources

🍴 What can RecipeSage do?

  • Import from any URL: Create a recipe simply by punching in a web URL
  • Powerful search: Search every field within your recipes including misspellings and similar words
  • Labelling/categorization system: Tag your recipes and filter by tags
  • Drag and drop meal planning: Schedule your meals interactively, quickly and easily
  • Shopping lists: Automatically categorized and intelligently grouped - add your recipes directly to a shopping list and similar items will be combined
  • Sharing and public profiles: Share your recipe collection and collaborate on meal plans/shopping lists with your family or friends
  • Import: Supports Pepperplate, Living Cookbook, and Paprika
  • Export: Back up your recipes in multiple formats for data portability
  • Dark mode: Never blind yourself at night again! (or leave dark mode enabled all the time like I do)

You can access the hosted version of RecipeSage here: https://recipesage.com

You can also selfhost your own copy or RecipeSage (see https://github.com/julianpoy/recipesage#ramen-self-hosting)

🍔 GIFs Store your recipes

All of your recipes in one place, and access them from any device.

Progressive Web App

Feels native on every device, and can be installed to the homescreen.

Automatically import from any URL

Import recipes from any website out there (see RecipeClipper for more info on how it does this).

Plan your meals and shopping

A built-in meal planner makes it easy to plan your meals. Meal plans and shopping lists can be shared between multiple people!

Meal plans support drag and drop, shopping lists support automatic item categorization.

🍜 Self Hosting

To selfhost RecipeSage, I recommend that you use the preconfigured docker compose files available here: https://github.com/julianpoy/recipesage-selfhost

You're welcome to configure or set up your own selfhost config based on this repository, but you may run into complications. The selfhost repository is setup to be easy to spin up, while this repository is oriented towards development.

🍞 License

RecipeSage is dual-licensed.

For all non-commercial usage, RecipeSage is available for use under the terms of the AGPL-3.0 license.

For all commercial usage, RecipeSage is only available for licensing upon request. You may contact me at julian@recipesage.com to request a license. Pricing for commercial licenses will depend on usage, and all associated fees/proceeds are intended to support the project and community as a whole.

🍩 CLA

Contributor license agreement.

This allows RecipeSage to continue to provide the hosted instance, as well as license the API to other projects that may not have compatible licenses with AGPL.

When contributing or suggesting code for RecipeSage, you irrevocably grant RecipeSage all rights to that code. See the CLA file in the repo for the complete CLA.

🐤 Contributing

Setting-up your development environment.

  1. Install Docker and Node
  2. Clone this repo
  3. Create a .env file in the root of the repository using example.env as a template. These can be left as placeholders, but the dependent functionality will not work without a real key in place.
  4. Install dependencies by running npm install at the root of the repo.
  5. Start the Docker containers by running docker compose up -d in the cloned repo
  6. Run database migrations docker compose exec backend npx prisma migrate dev
  7. RecipeSage should be running on localhost on port 80

Some notes for the repo:

  1. The repo uses the monorepo management tool nx. You'll find things divided up in the packages directory.
  2. I'm currently migrating to Prisma & TRPC, so any new functionality should be added within the trpc package rather than the backend package, unless it's an update to an existing behavior that does not merit moving.

Backend API tests can be run via docker compose exec backend env NODE_ENV=test POSTGRES_LOGGING=false npx nx test backend.

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.