The Grocery List Generator is a web application that helps users manage their pantry, select recipes, and generate a grocery list based on the selected recipes and the number of servings. It consists of a React frontend and a Flask backend.
- Users can review their pantry, and update it
- Users can select from different category of lists
- Users can choose serving number
- Generates grocery list based on user's selection
- Takes into account for what was already in their pantry
- Can send the required list to cart
-
Pantry Management:
- View current pantry items and their quantities.
- Update pantry items directly from the backend.
-
Recipe Selection:
- View available recipes.
- Select recipes to include in the grocery list.
-
Servings Input:
- Specify the number of servings to scale the ingredient quantities.
-
Grocery List Generation:
- Generate a grocery list based on selected recipes and servings.
- View items that need to be purchased (needed groceries).
- React: For building the user interface.
- Bootstrap: For styling and responsive design.
- Axios: For making API calls to the backend.
- Flask: For serving the API.
- Flask-CORS: For handling cross-origin requests.
-
Navigate to the backend directory:
cd /Users/urjasoni/Desktop/hypervelocity
-
Create a virtual environment:
python3 -m venv venv
source venv/bin/activate # On macOS/Linux
- Install dependencies:
pip install flask flask-cors
- Start the Flask server:
pythons app.py
- The backend will be available at
http://127.0.0.1:5000
.
- Navigate to the React project directory:
cd /Users/urjasoni/Desktop/hypervelocity
- Install dependencies:
npm install
- Start the React development server:
npm start
- Open your browser to go to
http://localhost:3000
- GET /api/pantry:
- Fetches the current pantry items and their quantities.
- POST /api/pantry:
- Updates the pantry with a new item or quantity.
- GET /api/recipes:
- Fetches the list of available recipes.
- POST /api/grocery-list:
- Generates a grocery list based on selected recipes and servings.
-
View Pantry: The pantry section displays the current items and their quantities.
-
Select Recipes: Check the recipes you want to include in the grocery list.
-
Specify Servings: Enter the number of servings to scale the ingredient quantities.
-
Generate Grocery List: Click the "Generate Grocery List" button to view the grocery list and needed groceries.
User Authentication: Add user accounts to manage individual pantries.
Search and Filter: Add search functionality for recipes and pantry items.
Mobile-Friendly Design: Improve responsiveness for smaller screens.
Cloud Integration: Store pantry and recipe data in Azure Cosmos DB or Azure SQL Database.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push the branch.
- Submit a pull request.