Open Kitchen is a full-stack application designed to unite food enthusiasts from around the world. This platform empowers users to share and explore an different variety of recipes, fostering a global community of culinary creativity. Whether you're a seasoned chef eager to showcase your signature dishes or an amateur cook looking for new inspiration, Open Kitchen offers a dynamic space to connect, learn, and share. Users can freely browse a diverse collection of recipes contributed by fellow enthusiasts, enriched with detailed ingredients, step-by-step instructions, and enticing images.
- Running the app on your machine
- Tech Stack
- User stories
- Trello Board
- Frontend component hierarchy
- Backend routes diagram
- Clone the repo
git clone https://github.com/fabiodplacerda/Open-Kitchen.git
- Navigate to the project directory.
cd Open-kitchen
- Install frontend dependencies
From the root folder:
cd frontend
npm install
- Install backend dependencies
From the root folder:
cd backend
npm install
- run the server from the backend
From the backend folder:
npm run start
- run the server from the backend
From the frontend folder:
npm run dev
Frontend
- React
- Axios
- Material UI
- Bootstrap
- Popperjs/core
- React toastify
- React slick
Backend
- Express
- Node.js
- Mongoose
- Bcrypt
- Json Web Token
- Cors
- Dotenv
- Express-validator
Dev dependencies
- Testing-library/jest-dom
- Testing-library/react
- Testing-library/user-event
- Vitest
- Vitest Coverage Istanbul
- Jsdom
- C8
- Chai
- Mocha
- Sinon
- Supertest
As a user,
I want to be able to Register for an account,
So that I can create a personal profile and access personalized features.
As a user,
I want to be able to log in to my account,
So that I can access additional features available to registered users.
As a user,
I want to be able to change my password,
So that I can improve my account security.
As a user,
I want to be able to delete my account,
So that I can delete all my data from the website.
As a user,
I want to be able to view recipes,
So that I can I can view them in more detail.
As a user,
I want to be able to add a new recipe,
So that I can I can share my recipe with other users.
As a user,
I want to be able to edit my own recipe,
So that I can I can keep my recipes up to date.
As a user,
I want to be able to delete my recipe,
So that I can So that I can manage my recipes.
As a user,
I want to be able to view reviews on a recipe,
So that I can see others users feedback on that recipe.
As a user,
I want to be able to add a review,
So that I can review the recipe.
As a user,
I want to be able to delete my review,
So that I can delete my own review from the recipe.
As a admin,
I want to be able to delete other users recipe,
So that I can moderate the content on the platform
As a admin,
I want to be able to delete other users reviews,
So that I can moderate the content on the platform