Grandma's Cookbook is an application that allows users to create and manage a private collection of favourite recipes, preserving their culinary heritage.
Enjoy your meal!
Use the following credentials for testing purposes: *
Username: admin
Password: admin
* Please note that the custom API rest is hosted on a free render.com account, so please be patient when logging in (you will have to wait about a minute).
- Add new recipes to the collection.
- Delete recipes from the collection.
- Update recipes from the collection.
- View detailed information about each recipe.
- Search for recipes by cooking difficulty.
- Secure authentication using JSON web tokens.
Grandma's Cookbook uses the MERN technology stack, which consists of MongoDB, Express.js, React, and Node.js. And it is built using the following technologies:
For a full list of dependencies and scripts used, see the package.json file.
To set up and run Grandma's Cookbook in your local environment, follow these steps:
Note: In order to retrieve data, you need to set up and run the Grandma's Cookbook API as well. The API can be found at https://github.com/LuisCaballe/grandma-cookbook-back.git Please follow the instructions in the API repository to run it in your local environment.
-
Clone this repository to your choosen local directory:
git clone https://github.com/LuisCaballe/grandma-cookbook-front.git
-
Install the dependencies:
npm install
-
Grandma's Cookbook requires environment variables to be set to work properly. To configure the required environment variables, follow the steps below:
3.1. Create a new file named .env in the root directory of the project.
3.2. Open the .env file and add the following environment variables:
VITE_APP_URL=http://localhost:4000
Or you can change the value of this variable to the URL + port where you want to serve the above-mentioned API.
-
Start the application in development mode:
npm run dev
-
Open your browser and visit the provided URL to access to Grandma's Cookbook application.
-
Use the following credentials for testing purposes:
Username: admin Password: admin