Skip to content

Cookbook and Meal planning software. Runs on PHP with MySQL/PostgreSQL.

Notifications You must be signed in to change notification settings

nazgul26/PHPRecipebook

Repository files navigation

PHPRecipebook 6.x


PHPRecipeBook is a cookbook and meal planning software.

Demo Videos:

Features:

  • Recipe edit/create/view.
  • Meal Planner
  • Restaurant List
  • Shopping Lists
  • Multi-User Support
  • Built using CakePHP v4

Currently Supported Languages / Translation Code

  • Chinese - zh
  • Danish - da
  • Dutch - nl
  • English - en
  • Estonian - et
  • French - fr
  • German - de
  • Hungarian - hu
  • Italian - it
  • Japanese - jp
  • Korean - ko
  • Norwegian - no
  • Portuguese - pt
  • Turkish - tr
  • Serbian - sr
  • Spanish - sp
  • Swedish - sv

Heroku Deployment

The fastest way to get running is using a provider like Heroku.

NOTE: Heroku requires paid accounts for all access now.

Deploy

The default login of the application is --

User:admin Password: passwd CHANGE THE PASSWORD of your application after login.

That is it. You can then start adding ingredients and recipes.

Server Install

The second and very common way to run a PHP application is paying for hosting a traditional web hosting provider. This would provide a fixed cost each month to run your application. Most likely the basic level of hosting on many providers will be sufficient for many years of growing your business. We would recommend SiteGround (https://www.siteground.com/) if you don't have a preference to start with.

To start you will need to have: + PHP 7 (or higher) with modules: php-xml (sudo apt install php-xml) php-intl php-mbstring php-curl php-zip

+ MySQL with a local db user created.

Create a configuration file config/.env

with contents (modify to fit your needs):

export APP_NAME="PHPRecipeBook"
export ALLOW_PUBLIC_ACCOUNT_CREATION = "false"
export PRIVATE_COLLECTION = "false"
export DEBUG="false"
export APP_ENCODING="UTF-8"
export APP_DEFAULT_LOCALE="en"
export APP_DEFAULT_TIMEZONE="UTC"
export SECURITY_SALT="------ CHANGE TO RANDOM STRING ----------------------------"
export DATABASE_URL="mysql://dbname:password@localhost/phprecipebook?encoding=utf8&timezone=UTC&cacheMetadata=true&quoteIdentifiers=false&persistent=false"
export EMAIL_TRANSPORT_DEFAULT_URL="smtp://[email protected]:[email protected]:587?tls=true"

Enable mod_write in Apache:

sudo a2enmod rewrite (edit apache site config to allow...) sudo systemctl restart apache2

Good tutorial for Ubuntu - https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-22-04

Directory Permissions

  • Make the /temp and logs folder in the application writable for web user. example:

    • sudo chown -R www-data.www-data tmp
    • sudo chown -R www-data.www-data logs

    If you don't make /tmp writable by the web user the app will not run!

Database Setup

Create your mysql/postgresql Db. For example 'phprecipebook'. Then run:

./bin/deploy.sh

From the directory that the app was extracted to. If you get any db errors double check you .env values.

Local Development

Edit the ./.htaccess file and comment out the https redirect lines.