A modern recipe matching application that helps users find cooking partners based on their culinary preferences and dietary needs.
- 🔐 JWT-based Authentication System
- 🛡️ Protected Routes
- 👤 Comprehensive User Profile Management
- 🖼️ Profile Image Upload via Cloudinary
- 🔄 Tinder-style Swipe Interface
- 🤝 Smart Matching Algorithm
- ⭐ Compatibility Scoring
- 📍 Location-based Matching
- ❤️ Real-time Match Notifications
- 💬 Real-time Chat Messaging
- 🔔 Real-time Notifications
- ✨ Animated Message Interactions
- 🍳 Recipe Recommendations
- 🥗 Dietary Restrictions Management
- 📊 Macro Tracking
- 🌮 Cuisine Preferences
- ⚖️ Goal Completion Tracking
- 🧊 Virtual Fridge Inventory
- 🎙️ Voice Input for Ingredients
- 📸 Image Recognition for Groceries
- 📝 Ingredient List Management
- 📱 Responsive Mobile-First Design
- 🎨 Modern Glass-morphic Interface
- ✨ Framer Motion Animations
- 🌈 Dynamic Color Feedback
- 🎯 Progress Indicators
- 💫 Smooth Transitions
PORT=4999
MONGO_URI=<your_mongo_uri>
JWT_SECRET=<your_very_strong_secret>
NODE_ENV=development
CLIENT_URL=http://localhost:5173
CLOUDINARY_API_KEY=<your_cloudinary_api_key>
CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>- Node.js version 20.17
- Start the server (from root directory):
npm install
npm run dev- In a new terminal, start the client:
cd client
npm run devThe server will run on http://localhost:4999 The client will run on http://localhost:5173
- Frontend: React + Vite
- Backend: Node.js + Express
- Database: MongoDB
- State Management: Zustand
- Real-time: Socket.io
- Animations: Framer Motion
- Styling: TailwindCSS
- Cloud Storage: Cloudinary