All Projects β†’ ammannbe β†’ RecipeManagerApi

ammannbe / RecipeManagerApi

Licence: AGPL-3.0 license
A tool to manage your families and friends recipes like a chef.

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects
typescript
32286 projects

Projects that are alternatives of or similar to RecipeManagerApi

Cocoa Biscuit Cake With Marshmallow Cheese Creme
Yes. It's a recipe. For a cake. Sort of.
Stars: ✭ 77 (+140.63%)
Mutual labels:  recipes
Opendrinks
🍸 Open Source Drinks! Add your own recipe in a pull request! Inspired by πŸŽƒHacktoberfest!
Stars: ✭ 218 (+581.25%)
Mutual labels:  recipes
cget-recipes
Recipes for cget
Stars: ✭ 17 (-46.87%)
Mutual labels:  recipes
Homebysix Recipes
AutoPkg recipes all the way from Seattle, WA.
Stars: ✭ 105 (+228.13%)
Mutual labels:  recipes
Cookbook
🍲 A library for all your recipes
Stars: ✭ 195 (+509.38%)
Mutual labels:  recipes
Qliksense Extension Tutorial
A comprehensive tutorial how to create Qlik Sense Visualization Extensions.
Stars: ✭ 244 (+662.5%)
Mutual labels:  recipes
Vegan recipes
100% vegan recipes
Stars: ✭ 46 (+43.75%)
Mutual labels:  recipes
recipes
Application for managing recipes, planning meals, building shopping lists and much much more!
Stars: ✭ 3,570 (+11056.25%)
Mutual labels:  recipes
Usd Build Club
This project includes recipes to build Pixar's Universal Scene Description, its Python bindings, and all necessary prerequisites on Mac and Windows
Stars: ✭ 206 (+543.75%)
Mutual labels:  recipes
bagels
open source bagel recipe; let's raise the quality of bagels worldwide πŸ₯― πŸš€
Stars: ✭ 21 (-34.37%)
Mutual labels:  recipes
Meanrecipe
Get a consensus recipe for your next meal. πŸͺ 🍰
Stars: ✭ 140 (+337.5%)
Mutual labels:  recipes
Cypress Example Recipes
Various recipes for testing common scenarios with Cypress
Stars: ✭ 2,485 (+7665.63%)
Mutual labels:  recipes
handbook
πŸ“™ ErgoServ Developer's Handbook - a collection of guides, recipes, and scripts for helping you get things done, better.
Stars: ✭ 46 (+43.75%)
Mutual labels:  recipes
React Recipes
React Recipes & Patterns.
Stars: ✭ 86 (+168.75%)
Mutual labels:  recipes
scrape-schema-recipe
Scrapes recipes from HTML https://schema.org/Recipe (Microdata/JSON-LD) into Python dictionaries.
Stars: ✭ 43 (+34.38%)
Mutual labels:  recipes
Ex Navigation Recipes
The idea is to provide a list of useful snippets for ex-navigation
Stars: ✭ 65 (+103.13%)
Mutual labels:  recipes
Usd Cookbook
USD Example Projects
Stars: ✭ 223 (+596.88%)
Mutual labels:  recipes
ingredients
Extract recipe ingredients from any recipe website on the internet.
Stars: ✭ 96 (+200%)
Mutual labels:  recipes
Recipe-Scraper
A JS package for scraping recipes from the web.
Stars: ✭ 78 (+143.75%)
Mutual labels:  recipes
przepisy-programisty
Sernik i inne przepisy programisty: precyzyjne, powtarzalne i przepyszne!
Stars: ✭ 117 (+265.63%)
Mutual labels:  recipes

RecipeManager

Api and Frontend to Manage your recipes. Written with Laravel and Vue.js.

A tool to manage your families and friends recipes like a chef.

Recipes Overview

Why is this so awesome?

  • Manage your recipes You and your friends can save, edit and delete recipes.
  • Share recipes You can share recipes by one click via Telegram or E-Mail.
  • Calculate yield amounts Calculate yield amounts directly in the recipe on the fly.
  • Exactly define recipe properties ..like author, category, tags, ingredients, units and more.
  • Disable/Enable functionalities Disable or enable dynamically cookbooks and/or tags.
  • Great and easy API Access the easy-to-use REST-API.

What features are planned?

  • Unit and feature tests
  • Improve and add advanced searching and filtering
  • An advanced User-Role-System
  • Import & more export types of recipes
  • Nutrition informations
  • Rating system (the API code is already written ;-) )
  • Social login with Socialite
  • A feature you think is missing...

Getting Started

Get the latest release or clone the repo with

git clone https://github.com/ammannbe/RecipeManager.git

Prerequisites

  • LAMP Stack or Docker for production use
  • Requirements for laravel
  • GD and WebP for image manipulation
  • Composer
  • NPM
  • MeiliSearch
  • Redis (optional but not recommended)

Installation

It's recommended to install and update this software with docker/docker-compose. See here for more information.

Alternatively or for development purposes you can make a manual installation on any linux/unix machine:

Manual installation

  • Install composer packages composer install
  • Install NPM packages npm install
  • Copy .env.example to .env and modify it to your needs
  • Generate storage symlink php artisan storage:link
  • Generate an app key php artisan key:generate
  • Migrate the database php artisan migrate
  • Import meilisearch indexes php artisan scout:index recipes && php artisan scout:import "App\Models\Recipes\Recipe"
  • Add following to your crontab:
  *  *  *  *  *  www-data   cd /path-to-the-project && php artisan schedule:run >> /dev/null 2>&1
  • Run the server php artisan serve

Manual development deployment

  • If not already done, install everything
  • Run the server php artisan serve
  • Run the queue worker php artisan queue:work
  • Watch for style and js changes: npm run watch

Manual production deployment

  • If not already done, install everything
  • Optimize composer autoload composer install --optimize-autoloader --no-dev
  • Enable caching:
php artisan config:cache
php artisan route:cache
php artisan view:cache
  • Run the queue worker php artisan queue:work (or setup via e.g. systemd)
  • Optimize npm packages: npm run prod

Update

  • Get the latest source (see Getting Started)
  • Check .env.examples for changes
  • Optimize composer autoload composer install
  • Install NPM packages npm install
  • Migrate the database php artisan migrate
  • Import meilisearch indexes php artisan scout:index recipes && php artisan scout:import "App\Models\Recipes\Recipe"
  • Follow Development deployment or Production deployment

Translations

All application related files are translated with laravel-translation-manager and laravel-translations-loader.

You should run these commands only on a development machine.

You need to run the migrations for this package:

php artisan vendor:publish --provider="Barryvdh\TranslationManager\ManagerServiceProvider" --tag=migrations
php artisan migrate
  • Import translations composer run translations:import
  • Open <your-domain>/translations in a browser
  • PHP: short keys within resources/lang/<lang>/<group>.php
  • Vue.js: translation strings within /resources/lang/<lang>.json (these files will be imported into the _json group)
  • Export & generate translations composer run translations:export

Other commands:

  • Export translations php artisan translations:export \*
  • Reset translations php artisan translations:reset

IDE helpers

You get better IDE IntelliSense support with the laravel-ide-helper package.

You need to generate the helpers by yourself:

composer run ide-helper:generate

After that, you should run the commands from Testing / Code Quality.

Testing / Code Quality

  • Optional: seed the database with test data
# Seed the database with test data
php artisan db:seed

# Freshly migrate and seed the database
php artisan migrate:fresh --seed

# The secret of the seeded users is 'password'
  • Run static code analytics composer run phpstan
  • Run PHP Coding Standards Fixer composer run php-cs-fixer

Built With

PHP Production:

PHP Development:

JS:

Contributing

Please see CONTRIBUTING for details.

Authors

  • Benjamin Ammann - Initial work - ammannbe

License

This project is licensed under the AGPLv3 or later - see the LICENSE file for details

Gallery

Recipes Overview - Mobile Account - Mobile Recipe - Mobile
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].