ChefConnect is a recipe-sharing platform built entirely with Next.js and Tailwind CSS. It enables users to discover, save, and share recipes effortlessly while providing authentication and authorization features for a full-stack app.
- Discover new recipes from a diverse range of cuisines.
- Save favorite recipes to your profile for easy access.
- Share your own recipes with the community.
- Leave reviews and ratings on recipes.
- User authentication and authorization system.
- Responsive design for seamless user experience on all devices.
- Next.js: A React framework for server-side rendering and building modern web applications.
- Tailwind CSS: A utility-first CSS framework for designing responsive and customizable UI components.
- MongoDB: A NoSQL database for storing user data, recipes, and reviews.
- Authentication: Implement user authentication using JWT (JSON Web Tokens) for secure access to user-specific features.
- Authorization: Define roles and permissions to control access to certain functionalities (e.g., admin privileges for managing recipes).
- Node.js and npm installed on your machine.
- MongoDB instance or MongoDB Atlas account for database storage.
- Clone the repository:
git clone https://github.com/your-username/chefconnect.git
- Install dependencies:
cd chefconnect
npm install
- Set up environment variables: -Create a .env.local file in the root directory. -Add your MongoDB connection string and other necessary environment variables:
MONGODB_URI=your_mongodb_connection_string SECRET_KEY=your_secret_key_for_jwt
- Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000 to access the ChefConnect application.
- components/: Reusable React components used throughout the application.
- public/: Static assets like images, fonts, and other resources.
- styles/: Stylesheets and Tailwind CSS configuration files.
- utils/: Utility functions and helper modules.
- models/: Mongoose models for MongoDB data schemas.
- middleware/: Custom middleware functions for authentication and authorization. Feel free to explore and modify the project structure according to your requirements.
We welcome contributions from the community. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.