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.

⚠️ Important Note

The Recipya project is currently being rewritten in Rust 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. Rust: https://www.rust-lang.org/
  2. Nodejs: https://nodejs.org/en/download/package-manager
  3. PostgreSQL: https://www.postgresql.org/download/ and the pg_cron extension
  4. Diesel: cargo install diesel_cli --no-default-features --features postgres
  5. Metask: cargo install cargo-metask

PostgreSQL extensions:

Add the following to /var/lib/pgsql/data/postgresql.conf once pg_cron is installed:

  • shared_preload_libraries = 'pg_cron' <- Uncomment this line
  • cron.database_name = 'recipya' <- New line

To build:

  1. Set the environment variables in .cargo/config.toml
  2. Run recipya: cargo run -p recipya

Development Container

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

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 motivates me to continue developing this project and to host it reliably.

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

Sponsor this project

  •  

Packages

 
 
 

Contributors 3

  •  
  •  
  •