Recipes social media
- User Sign In / Sign Up Simple sign-in with email and password. A sign-up with username, email, and password.
- Recipes feed Feed with recipes list with title, valoration, and recipe picture for each recipe. when a recipe is clicked, a "details" modal must be open showing the recipe ingredients, steps, cuisine type, and valoration.
- User profile In a Twitter style, a profile layout of the User name, profile picture, banner, location, and external website link. While showing the user-posted recipes in a list.
- Favourite Recipes: Save your favorite recipes for quick access in a list.
- Backend:
- main:
- Node.js, Express, Sequelize, Postgress, and Typescript.
- extra:
- express validator: validate request params & body
- bcrypt: encrypt passwords
- passport jwt: auth with JSON web tokens
- cors: Security
- main:
- Frontend:
- main:
- React, React Router Dom, JoyUI.
- extra:
- React Hook Form
- Zod
- Axios
- SWR
- main:
To set up the RecipeAlchemy project locally, please follow these steps:
- Clone this repository to your local machine.
- Install the necessary dependencies by running
npm install
inapps/server
andapps/web-apps
.
-
Create a
.env
file in the root ofapps/server/
with the next variables:|-
JWT_SECRET
: the jwt secret signature |-PORT
: the port in which to run the backend development server (default set to3000
). -
Run the backend server using
npm run dev
in the directoryapps/server
- Run the frontend development server using
npm dev
in the directoryapps/web-app
. - Access the CulinaryAlchemy platform in your browser at
http://localhost:5173/
or to your environment port var.
We welcome contributions to enhance RecipeAlchemy. If you have any ideas, bug fixes, or improvements, feel free to submit a pull request. Please ensure that your code follows the established coding conventions and includes appropriate tests.
Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
We hope that RecipeAlchemy becomes your go-to platform for culinary inspiration, recipe sharing, and connecting with fellow food enthusiasts. Happy cooking!