Giter Club home page Giter Club logo

reciphpes's Introduction

reciphpes!

Author: Anaël Ollier [email protected]

Screenshots

Installation

Notice: Currently the application cannot be accessed from a URL using a custom base path:

☑️ WILL WORK: http://reciphpes.myhost.org/
❌ WILL NOT WORK: http://something.myhost.org/reciphpes

Docker

See prebuilt image available on Docker Hub: https://hub.docker.com/r/nanawel/reciphpes

docker pull nanawel/reciphpes

Create a dedicated folder (here /opt/reciphpes) to hold docker-compose.yml and the data directory and give the latter required permissions for www-data in the container.

mkdir -p /opt/reciphpes/data/db /opt/reciphpes/data/log
chgrp -R 33 /opt/reciphpes/data/*
chmod -R g+w /opt/reciphpes/data/*

Example of docker-compose.yml (here listening on port 8000):

version: '3.2'

services:
  app:
    image: nanawel/reciphpes
    container_name: reciphpes
    restart: always
    ports:
      - '8000:80'
    volumes:
      - './data/db:/var/www/webapp/var/db:rw'
      - './data/log:/var/www/webapp/var/log:rw'
      #environment:
      #APP_DEFAULT_LOCALE: en                       # default is "fr" for historical reasons
      #APP_SET_LOCALE_FROM_ACCEPT_LANGUAGE: false   # default is true
      #APP_SET_CONTENT_LANGUAGE_FROM_LOCALE: false  # default is true

Start the container with

cd /opt/reciphpes
docker-compose up -d

Then init the database (first time only):

docker-compose exec -u www-data app make install

(Optional) You might want to generate a new secret value:

docker-compose exec app make new-secret

You may now access the application at http://localhost:8000/.

See next section when upgrading.

Upgrade

docker-compose pull
gzip -c data/db/app.db > data/db/app.$(date +%F_%H-%M-%S).sqlite.gz
docker-compose up -d
docker-compose exec -u www-data app bin/console doctrine:migrations:migrate -n
docker-compose exec app make new-secret    # (optional)

Build from source

git clone https://github.com/nanawel/reciphpes.git /opt/reciphpes-src
cd /opt/reciphpes-src
make build

Developer Notes

Docker setup (recommended)

Copy .env to .env.local and adjust values to your environment. You might particularly want to change WEBAPP_UID to your own UID (to prevent permission issues with your files and the ones created by Apache in the container).

make dev-build
make dev-startd HTTP_PORT=8080    # Choose any free port

You may now enter the container with make shell and issue the commands provided in the section below.

Local setup

Requirements

  • Apache 2 with PHP 7.1+
  • Composer
  • NodeJS 14+
  • yarn
make install

# Start assets builder watch task
yarn run encore dev --watch

Licence

See LICENSE.

reciphpes's People

Contributors

nanawel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

ducho szorlas

reciphpes's Issues

Suggestion: Tiled view of recipes

When reviewing recipes, a tiled view that includes pictures would be pretty. Or if one day you created a server/client model you could organize this as a client view.

(suggestion)

Suggestion: Icon selection

Suggestion:
With each recipe, there is a pizza icon. This is fine, but looks a little silly next to my dessert recipe. Perhaps if we could choose from a selection(?)

Also, for 'Mass Create,' I now realize the icon is supposed to be the back of a truck being loaded, but it took me a while. Maybe consider an alternative.

TZ/Language

Thank you for your excellent project. I have tried everything I can think of to change the timezone and/or language: it seems to believe I speak French. Suggestion: GUI language change.

Suggestion: Return to work-in-progress

The ability to be working on a recipe, change tabs to look at tags (for example), and then return to the recipe you were working on without the data being lost.

(suggestion)

Suggestion: Regarding ingredients

In order for the ingredients tab to be more useful, I think there should be a separate entry when adding an ingredient for quantity.
Example: 1 tsp olive oil
Example: 1 cup of basil, chopped (chopped would go in the notes section)
On the ingredients tab, each of these will register as a separate entry, which makes the ingredient page less useful.

Alternatively, you might consider removing the ingredients page altogether, in favor of using the already included search function. (Although slightly modified to encompass ingredients as part of recipes in search results)

Again-- just suggestions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.