Ma prochaine recette (My next recipe) is a web application that allows you to display feasible recipes based on a catalog of recipes and the list of ingredients available in the fridge.
The application consists of three main pages :
- The feasible recipes are displayed in an order allowing to take into account the ingredients which will expire the fastest.
- For each recipe displayed, the ingredient from the fridge that expires the fastest is put in bold.
- For each recipe displayed, the ingredients that are present in it but whose type of unit does not allow their quantity to be compared with the corresponding ones in the fridge are displayed in grey and italics. These recipes are also surrounded by a grey frame to indicate that they may not be feasible.
- It is possible to filter the recipes by categories (for example starter, main course, dessert) or to filter by keyword using the search bar.
- When an ingredient is added to the fridge, if the same ingredient is already present with the same expiration date, the two ingredients will be merged and their quantity summed provided that their units are of the same type (for example
gram
andkilogram
, whilegram
andpiece
will not be merged).
The recipe catalog contains all of your recipes, that will be taken into account to establish the list of feasible recipes.
To add an ingredient in a recipe or in the fridge, the exact name of this ingredient must first be entered in the catalog of ingredients.
Currently the only form of installation is the local one from sources.
To be able to run the applicaiton, you need the following requirements:
You need to first clone locally the repository:
git clone https://github.com/paoli-a/MaProchaineRecette.git
The application is made up of two parts: the backend and the frontend, which must be installed and launched separately.
First install the backend:
pip install pipenv
cd ma-prochaine-recette/backend/
pipenv install
Once installed, you can start it with the following command:
cd maprochainerecette
pipenv run python manage.py runserver
The backend is then running. You can verify this by accessing the URL http://127.0.0.1:8000/
which will allow you to navigate through the REST API web interface.
Then, in another terminal, install the frontend and therefore also if necessary Yarn (npm install --global yarn
):
cd ma-prochaine-recette/frontend/
yarn
Once installed, you can run the development server with the following command:
yarn dev
The application should then start and open the browser. It will be available from your browser at the address http://127.0.0.1:3000/
.
The production server can be run with the following commands:
yarn build
yarn start
This application is available under AGPL V3 license. For more details please read the text of the license.
If you want more details on the technical aspect, the development tools and the documentation, please read the README file of the backend and the README file of the frontent.