Ever stare into your fridge full of ingredients and have no idea what to actually cook? Yeah, me too. That's why I built Taste Maker!
This project is my attempt to solve the "what's for dinner?" problem by helping you find recipes based on the ingredients you already have. You can search, filter by cuisine, or even get some creative ideas generated by AI if you're feeling adventurous.
- Smart Ingredient Search: Chuck in the ingredients you've got (e.g., "chicken, tomato, onion"), and it'll find recipes you can make. ๐ฅ
- Cuisine Filter: Craving something specific? Narrow down your search by cuisine type (Indian, Italian, etc.). ๐ฎ๐ณ๐ฎ๐น
- AI Recipe Generation: Stuck for ideas? Give the AI your ingredients and see what unique recipes it comes up with! Uses the Gemini API. ๐ค
- Recipe Details: Click on any recipe to see the full ingredient list, step-by-step instructions, prep time, difficulty, etc. ๐
- User Accounts: Sign up to save your profile (you can even add a profile picture!). (Future: Save favorite recipes).๐ค
- API Fallbacks: Tries Spoonacular first, then Edamam, and finally Gemini AI to make sure you always get some results. ๐ช
This is a full-stack MERN-ish project:
- Frontend: React, Vite, Tailwind CSS, Axios, React Router
- Backend: Node.js, Express.js, MongoDB (with Mongoose)
- Authentication: JWT (Access + Refresh Tokens stored in HttpOnly cookies)
- APIs: Spoonacular, Edamam, Google Gemini
- Deployment: Render (Frontend Static Site + Backend Web Service)
Want to run it yourself? Cool!
-
Clone the repo:
git clone [https://github.com/Necro-Rohan/Taste-Maker.git](https://github.com/Necro-Rohan/Taste-Maker.git) cd Taste-Maker -
Backend Setup:
cd backendnpm install- Create a
.envfile in thebackendfolder and add your variables:PORT=3001 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_super_secret_key REFRESH_SECRET=your_other_super_secret_key SPOONACULAR_API_KEY=your_key EDAMAM_APP_ID=your_id EDAMAM_APP_KEY=your_key GEMINI_API_KEY=your_google_ai_key # For local dev, allow localhost (update port if needed) FRONTEND_URL=http://localhost:5173
npm run dev(This usually uses nodemon)
-
Frontend Setup:
- Open a new terminal.
cd frontendnpm install- Create a
.envfile in thefrontendfolder (if you need to override the backend URL for local dev, though the Vite proxy should handle it):# Usually not needed if Vite proxy is set up correctly # VITE_API_BASE_URL=http://localhost:3001
- Make sure your
frontend/vite.config.jsproxy points to the correct backend port (e.g., 3001). npm run dev
-
Open the App: Go to
http://localhost:5173in your browser.
This project is deployed live using Render!
- Frontend: https://taste-maker-1.onrender.com/
- Backend: https://taste-maker.onrender.com/
(Note: Free tier on Render might take a moment to wake up if inactive!)
Feel free to check out my other stuff or connect!
- GitHub: Necro-Rohan
- LinkedIn: Rohan Kumar
- Instagram: rohan_gupta_c53