Your request to "rewrite this properly remove the double tripple * so that readme is proper" indicates a need for a clean, professional GitHub README. I'll provide a refined version of your ChefBot README, removing the redundant asterisks and ensuring all formatting is correct and visually appealing.
ChefBot is an interactive AI-powered kitchen assistant that provides recipes, cooking tips, and culinary inspiration based on your ingredients and dietary preferences. It's built with a simple, elegant web interface and is powered by the cutting-edge Gemini API. The entire application is hosted on Vercel as a serverless function, making it fast, scalable, and cost-effective.
- Dynamic Recipe Generation: Get recipes instantly based on a list of ingredients.
- Dietary Support: Request vegan, gluten-free, or specific cuisine-based recipes.
- Natural Language Chat: Talk to ChefBot in plain English or Hinglish.
- Secure API Proxy: Your Gemini API key is kept secure on the backend.
- Seamless Deployment: One-click deployment to Vercel via GitHub.
- 🎤 Voice Input: Chat with ChefBot using your voice for hands-free cooking.
- ❤️ Save Favorites: Mark and revisit your favorite recipes with local storage.
- 🖨️ Print Recipes: Download or print beautiful recipe cards.
- ⏰ Cooking Timer: Built-in timer that appears automatically with recipes.
- 📱 PWA Support: Install ChefBot as an app on your device for quick access.
- 🔔 Smart Notifications: Get notified when recipes are saved or timers complete.
| Feature | Description | Status |
|---|---|---|
| Voice Input | Chat with ChefBot using your voice | ✅ Available |
| Save Favorites | Mark and revisit your favorite recipes | ✅ Available |
| Print Recipe Button | Download/print recipe cards | ✅ Available |
| Cooking Timer | Built-in timer for recipes | ✅ Available |
| Mobile PWA | Installable app for quick access | ✅ Available |
| Nutrition Info | Get nutritional breakdown for each recipe | 🚧 Coming Soon |
| Community Recipes | Users submit and browse community recipes | 📋 Planned |
| Weekly Meal Planning | Plan weekly meals, auto-generate shopping list | 📋 Planned |
| Multi-language Support | Hindi/English UI toggle | 📋 Planned |
The frontend is a simple index.html page that sends user prompts to a Vercel serverless function (api/index.js). This function acts as a secure proxy, calling the Gemini API with your prompt and API key. The AI's response is then sent back to the frontend and rendered in the chat window.
- Frontend: Plain HTML, CSS, & JavaScript
- Backend: Node.js Serverless Function
- AI Model: Google Gemini API
- Hosting: Vercel
- Dependency Management: npm
Go to the Google AI Studio and create a new API key. Copy your key for the next steps.
- Clone the Repository:
git clone <your-repo-url> cd ChefBot
- Install Dependencies:
npm install
- Configure Environment Variables:
Create a file named
.envin the root of your project and add your API key to it like this:GEMINI_API_KEY="your-api-key-here". - Run the Development Server:
Your server will now be running at
npm run dev
http://localhost:3000. Open this URL in your browser to interact with ChefBot.
Vercel makes deployment simple with direct GitHub integration.
- Push your project to GitHub:
git init git add . git commit -m "Initial commit of ChefBot project" git branch -M main git remote add origin <your-github-repo-url> git push -u origin main
- Import to Vercel:
- Log in to your Vercel account and click "Add New" > "Project".
- Select your GitHub repository.
- Before deploying, add an environment variable in the Vercel project settings:
- Name:
GEMINI_API_KEY - Value: Your actual Gemini API key.
- Name:
- Click "Deploy". Vercel will now automatically build and deploy your project.
- Recipe Generation: "I have 250g paneer and 2 onions"
- Dietary Preferences: "Vegan breakfast ideas"
- Cooking Tips: "How to make perfect basmati rice?"
- Voice Input: Click the 🎤 microphone button and speak your request
- Save Favorites: Click ❤️ on any recipe to save it locally
- Print Recipes: Click 🖨️ to print or download recipe cards
- Cooking Timer: Timer appears automatically when recipes mention cooking time
- Install App: Click 📱 Install App to add ChefBot to your home screen
ChefBot/
├── api/
│ └── index.js # Vercel serverless function
├── assets/
│ ├── images/ # Project images
│ └── screenshots/ # App screenshots
├── public/
│ ├── index.html # Main frontend application (v2.0)
│ ├── manifest.json # PWA manifest file
│ └── sw.js # Service worker for offline support
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
├── package.json # Dependencies and scripts
├── package-lock.json # Locked dependency versions
├── README.md # This file
├── server.js # Local development server
└── vercel.json # Vercel configuration
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
If you encounter any issues or have questions, please open an issue on GitHub.
Happy Cooking! 🍳✨