A web application that provides personalized recipe recommendations based on available ingredients, dietary preferences, and nutritional requirements.
- Ingredient-Based Recipe Generation: Input available ingredients to get customized recipes
- Calorie Control: Set maximum calorie limits for recipe recommendations
- Serving Size Adjustment: Easily adjust recipe portions for any number of servings
- Interactive Chat Interface: Follow-up questions and recipe modifications through chat
- Dietary Preferences: Add special requirements or preferences through notes
- Real-time Ingredient Management: Add and remove ingredients with a user-friendly interface
- Frontend: React.js
- UI Components: Custom Button and Chat components
- Styling: CSS with responsive design
- State Management: React Class Components with local state
- Node.js (v14 or higher)
- npm or yarn package manager
- Clone the repository
git clone https://github.com/yourusername/Personalized-Recipe-Recommender.git
cd Personalized-Recipe-Recommender
- Install dependencies
cd client
npm install
- Start the development server
npm start
The application will be available at http://localhost:3000
- Create a
.env
file in the client directory by copying.env.template
:
cp client/.env.template client/.env
- Fill in your environment variables in the
.env
file:
REACT_APP_API_BASE_URL=https://func-api-4zrqw4pw37sga.azurewebsites.net/api
REACT_APP_API_CODE=your_function_code_here
- Never commit the
.env
file to version control
-
Enter Ingredients
- Type ingredients in the input field
- Click "Add" or press Enter to add to the list
- Click 'x' to remove ingredients
-
Set Preferences
- Use the slider to set maximum calories
- Adjust number of servings using + and - buttons
- Add any dietary restrictions or preferences in the notes
-
Get Recommendations
- Click "Get Recipes" to receive personalized recommendations
- Use the chat interface for follow-up questions or modifications
- 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
This project is licensed under the MIT License - see the LICENSE file for details
- Thanks to all contributors who have helped shape this project
- Special thanks to the React community for excellent documentation and resources
project planning: https://github.com/users/Nouran246/projects/8