Welcome to Recipen – a recipe website for food enthusiasts to explore, create, and share their culinary experiences. Indulge in a community-driven platform where food enthusiasts share their cherished recipes and captivating food blogs. Subscribe to the pro version to share your own recipes and to unlock a realm of taste, culture, and creativity.
Live Site: https://recipen.vercel.app/
- Authentication: Users can securely create accounts and log in to access personalized features and content.
- Access & Refresh Token: Implemented access and refresh token mechanism for enhanced security during user authentication.
- Authentication State Persistence: User authentication state is now persisted across sessions, providing a seamless user experience.
- Storing Tokens in Cookies: Tokens are stored in secure cookies for better protection against cross-site scripting (XSS) attacks.
- Recipes: Explore a rich collection of authentic recipes contributed by the community, covering a wide range of cuisines and tastes.
- Food Blogs: Engage with insightful and creative food blogs written by enthusiasts, offering valuable insights and cooking inspiration.
- Stripe Payment Integration: Seamlessly integrated Stripe for secure payment processing, enhancing user experience during transactions.
- One-Time Payment Subscription: Offer users the option to subscribe with a one-time payment, unlocking exclusive features and benefits.
- Pro User Access: Pro users enjoy the privilege of adding and deleting recipes and blogs, creating a dynamic and engaging platform.
- Admin Dashboard: Admins have access to a dashboard for managing users, recipes, and blogs
- User Profile: Each user has a personalized profile where they can manage their information.
- Contact Us Page: A dedicated page for users to reach out with questions, concerns, or feedback, fostering communication.
- Chatbot: A chatbot that provides one to one assistance with the maintainers of the project.
- Save and Unsave Favorite Recipes: Users can curate their own collection of favorite recipes for easy access and cooking inspiration.
- Rate and Comment on Recipes: Registered users can provide ratings and comments on recipes, enhancing the community interaction.
- Comment on Blogs: Engage in discussions by leaving comments on the food blogs, sharing thoughts and ideas.
- Share Recipe on Social Media: Users can effortlessly share their favorite recipes on various social media platforms.
- Fork this repository
- Open terminal or command prompt on your local machine. Run the following command to clone the repository:
- Open the project and rename .env.example files to .env in both client and server directory.
- Add your own environment variables to these both files.
- Add http://localhost:5173 and http://localhost:5000 to allowedOrigins array present in the path server/config/allowedOrigins.
- To run the frontend, open a new terminal and run 'cd client/' to go to client directory and execute:
- To run the backend, open a new terminal and run 'cd server/' to go to server directory and execute:
- Open http://localhost:5173/strong> from your browser to run the webapp.
git clone https://github.com/your-username/your-repo.git
Replace your-username with your GitHub username and your-repo with the name of your repository.
npm run dev
nodemon index.js
- After running the webapp on your machine # on the website.
- Now open your MongoDB collection and manually add the Admin element in the array of roles field for the user you want to make admin and then # back on the site.
- Now you will be able to access the admin dashboard.
![home](/Avinash905/Recipen/raw/main/client/src/assets/home.png)
![#](/Avinash905/Recipen/raw/main/client/src/assets/#.png)
![signin](/Avinash905/Recipen/raw/main/client/src/assets/signin.png)
![profile](/Avinash905/Recipen/raw/main/client/src/assets/profile.png)
![contact](/Avinash905/Recipen/raw/main/client/src/assets/contact.png)
![recipes](/Avinash905/Recipen/raw/main/client/src/assets/recipes.png)
![blogs](/Avinash905/Recipen/raw/main/client/src/assets/blogs.png)
![single recipe](/Avinash905/Recipen/raw/main/client/src/assets/single-recipe.png)
![single blog](/Avinash905/Recipen/raw/main/client/src/assets/single-blog.png)
![add recipe](/Avinash905/Recipen/raw/main/client/src/assets/add-recipe.png)
![add blog](/Avinash905/Recipen/raw/main/client/src/assets/add-blog.png)
![dashboard users](/Avinash905/Recipen/raw/main/client/src/assets/users.png)
![dashboard](/Avinash905/Recipen/raw/main/client/src/assets/recipes-dashboard.png)
![dashboard](/Avinash905/Recipen/raw/main/client/src/assets/blog-dashboard.png)
Terms and conditions for use, reproduction and distribution are under the MIT License.