Skip to content

reaper47/recipya-rs

Recipya Rust  

A clean, simple and powerful recipe manager your whole family will enjoy.

Demo Documentation Matrix
build-status-shield contributions-shield

Recipe page screenshot

Introduction

A clean, simple and powerful recipe manager web application for unforgettable family recipes, empowering you to curate and share your favorite recipes. It is focused on simplicity for the whole family to enjoy.

Warning

The Recipya project is currently being rewritten in Go as announced here. The Rust project is not ready for production nor to selfhost. The user interface should look exactly the same as the original.

Features

  • Manage your favorite recipes
  • Import recipes from around the web
  • Digitize paper recipes
  • Organize your recipes into cookbooks
  • Works seamlessly with Nextcloud Cookbook
  • Automatic conversion to your preferred measurement system (imperial/metric)
  • Calculate nutritional information automatically
  • Print any recipe in your collection
  • Prevent your device from going to sleep while viewing a recipe
  • Follows your system's theme (light/dark)
  • Cross-compiled for Windows, Linux, and macOS

Getting Started

Installation

The installation instructions are written in the installation section of the documentation.

Building the Project

Current state

Dependencies:

  1. Install rust: https://www.rust-lang.org/
  2. Install nodejs to build the frontend: https://nodejs.org/en/download/package-manager
  3. Install Task: https://taskfile.dev/installation/
  4. Install hugo extended to build the documentation website: https://gohugo.io/installation/
  5. PostgreSQL: https://www.postgresql.org/download/
  6. Diesel: cargo install diesel_cli

To build:

  1. Build the docs: task build-docs
  2. Build the frontend: task build-web
  3. Set the environment variables in .cargo/config.toml
  4. Run recipya: cargo run -p recipya

Development Container

You may use the devcontainer to help develop Recipya. The DATABASE_URL environment variable in your .cargo/config.toml file would be DATABASE_URL = "postgres://postgres:postgres@localhost:5432/recipya".

Once recipya-rs becomes the defacto Recipya:

Follow these steps to build the project yourself:

  1. Clone the project.
    git clone https://github.com/reaper47/recipya-rs.git
  2. Install the required dependencies.
  3. Build the project.

Alternatively, you may use the development container. Recipya's Docker container includes all the necessary tools and dependencies you need to start writing code quickly.

Contributing

Contributions are always welcome! Please open an issue, start a discussion, open a pull request or send an email at macpoule@gmail.com. The same applies if you have any feedback or need support.

You can also join our development and support channel on the Matrix space: #recipya:matrix.org. Matrix is similar to Discord but is open source.

Sponsors

I am grateful for any support that helps me continue to develop this project and to host it reliably. Your sponsorship will help me pay for the SendGrid Essentials plan to increase the number of emails that can be sent. The free plan currently used allows sending up to 100 emails per day.

You can sponsor me on GitHub Sponsors or Buy Me a Coffee.

Your support is greatly appreciated! A third of donations will be sent to the Armed Forces of Ukraine 🇺🇦

This project is supported by these kind people:

Inspiration

This project was mainly coded to blasting the following albums:

About

A clean, simple and powerful recipe manager your whole family will enjoy.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published