A beautiful full-stack recipe book with authentication, global recipes, translation, seasonal/regional browsing, and health insights.
Edit server/.env with your credentials:
MONGO_URI=mongodb+srv://USERNAME:PASSWORD@cluster.mongodb.net/recipebook?appName=Cluster0
JWT_SECRET=any_long_random_string_here
JWT_EXPIRE=7d
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:5000/auth/google/callback
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
CLIENT_URL=http://localhost:3000
PORT=5000
0.0.0.0/0 (Network Access)MONGO_URIhttp://localhost:5000/auth/google/callbacknpm run seed
npm run dev
Or separately:
# Terminal 1
npm run server
# Terminal 2
npm run client
Open http://localhost:3000
| Feature | Description |
|---|---|
| 🔐 Auth | JWT login/register + Google OAuth |
| 🏠 Home | All recipes in responsive card grid with filters |
| 🔍 Search | Real-time search by name or ingredient |
| 🎛️ Filters | Category, difficulty, region, season, cook time, health score, dietary tags |
| 📖 Detail | Full recipe with ingredients, steps, health info |
| 🌐 Translation | English / Telugu / Hindi via MyMemory API |
| 🌿 Seasonal | Indian season logic (Spring/Summer/Autumn/Winter) |
| 📍 Regional | Geolocation-aware regional recipes |
| ❤️ Favorites | Global favorites shared across all users |
| 📊 Health | Charts: category breakdown, health scores, calories |
| 🛒 Grocery | Blinkit/Swiggy/Zepto (India) or Amazon Fresh/Instacart (Global) |
| 📷 Images | Cloudinary upload or URL paste |
| ✏️ CRUD | Add, edit, delete any recipe |