A full-stack Food Recipe Sharing Website where users can register, share their favorite recipes, manage their own dishes, and interact with an AI-powered chefbot assistant.
Check it out here: FoodShare Web Live
- Recipe Management: Create, edit, and browse recipes easily
- Favorites & My Recipes: Save your favorite dishes and manage your personal recipes
- AI ChefBot Assistant: Get recipe suggestions or cooking help powered by OpenAI API
- User Authentication: Secure signup and login with JWT-based access
- Responsive Design: Built with Tailwind CSS for mobile and desktop
- Dockerized Setup: Run both frontend and backend using Docker Compose
- Frontend: React, Axios, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB (Mongoose ORM)
- AI Integration: OpenAI API for chatbot assistant
- Authentication: JWT-based token authentication
- Containerization: Docker & Docker Compose
food-blog/
├── backend/
│ ├── models/
│ ├── routes/
│ ├── controllers/
│ ├── Dockerfile
│ └── server.js
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── App.jsx
│ ├── Dockerfile
│ └── vite.config.js
│
├── docker-compose.yml
├── .env
├── README.md
└── package.json
git clone https://github.com/your-username/food-blog.git
cd food-blogMake sure you have Docker and Docker Compose installed.
Run the stack (frontend + backend + MongoDB) using:
docker-compose up --buildThis will:
- Build frontend and backend images
- Start the containers and link them
- Run backend on port 5000 and frontend on 5173
Ensure your
.envfile exists in the root orbackend/directory as configured.
cd backend
npm installCreate a .env file inside backend/:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
OPENAI_API_KEY=your_openai_api_key
Run the backend server:
npm run devcd frontend
npm install
npm run devMake sure the frontend API calls point to
http://localhost:5000.



