MealMate is an intelligent meal-planning application that helps users create personalized weekly meal plans, manage recipes, and generate shopping lists automatically. The application uses ChatGPT API to tailor recommendations based on dietary preferences and restrictions.
- 🍽️ Personalized Meal Planning: Generate weekly meal plans tailored to your dietary preferences
- 🔄 Plan Customization: Modify and adjust meal plans to your liking
- 📝 Smart Shopping Lists: Automatically generated and customizable shopping lists
- 🥗 Recipe Management: Browse and select from a variety of recipes
- ⚙️ Preference Management: Set dietary restrictions, allergies, and cuisine preferences
- 🎯 Type Safety: Built with TypeScript for robust type-checking
- Frontend: React + TypeScript
- Backend: Express.js
- Database: PostgreSQL with Drizzle ORM
- AI Integration: OpenAI API for meal suggestions
- Styling: Tailwind CSS + shadcn/ui components
- State Management: React Query + Context API
-
Clone the repository
-
Install dependencies:
npm install
-
Set up environment variables:
DATABASE_URL
: PostgreSQL connection stringOPENAI_API_KEY
: OpenAI API key
-
Start the development server:
npm run dev
- AI-powered meal planning based on user preferences
- Support for various dietary restrictions (vegetarian, vegan, gluten-free)
- Customizable serving sizes
- Weekly meal plans with breakfast, lunch, and dinner
- Browse recipes by meal type
- Filter recipes based on dietary preferences
- Detailed recipe information, including prep time and ingredients
- Automatic generation based on meal plan
- Categorized ingredients
- Customizable quantities
- Interactive checklist functionality
- Set dietary restrictions
- Specify allergies
- Choose preferred cuisines
- Adjust serving sizes
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # React Context providers
│ │ ├── lib/ # Utility functions
│ │ └── pages/ # Page components
├── server/ # Backend Express application
│ ├── routes.ts # API routes
│ └── chatgpt.ts # AI integration
└── db/ # Database schema and migrations
PreferencesContext
: Manages user preferences stateMealPlanTimeline
: Displays weekly meal planDishSelectionModal
: Modal for selecting mealsShoppingList
: Interactive shopping list component
MIT License - feel free to use this project for learning or building your own meal planning application!