diff --git a/README.md b/README.md index 1f0c598..d78b5c0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,102 @@ -# HackAttack -hackathon +# GIT Hackathon 2024 + + + + + + +
Pantry Sidekick Logo +

Pantry Sidekick

+ Welcome to Pantry Sidekick, your ultimate pantry management web application. Designed to streamline the way you manage fruits and vegetables in your home, Pantry Sidekick leverages cutting-edge technology to deliver a seamless and intuitive user experience. Our application utilizes Python, Flask, HTML, and CSS, along with the powerful YOLOv8 model from Ultralytics and a custom dataset trained using Roboflow for accurate visual recognition of your pantry items. With Pantry Sidekick, managing your pantry has never been easier and more sustainable! +
+ +## Inspiration +The astonishing fact that Canadians wasted over 500 million dollars worth of food due to expiring products in 2022 shocked us. It motivated us to contribute to the UN's 12th Sustainable Development Goal - Responsible Consumption and Production. We created Pantry Sidekick to help users manage their food items sustainably by tracking expiration dates and reducing waste. + +## What it does +Pantry Sidekick recognizes pantry items using image recognition technology and tracks the expiry dates. It aids users in efficiently determining which items are nearing expiration, promoting responsible consumption. + +## How we built it +We developed Pantry Sidekick with a combination of technologies: + +- **Image Recognition**: The YOLOv8 model, customized with our dataset, is used for scanning and identifying food items. +- **Backend**: We chose Python and Flask for our server-side operations with SQLite managing our data storage. +- **Frontend**: HTML, CSS, JavaScript, and Bootstrap 4 were utilized to craft our user interface. Additionally, Adobe Fresco and Adobe Firefly helped create our app's logo and thematic background images. + +## Challenges we ran into +From finding a dataset for training our model to creating our own with Roboflow, our journey was riddled with challenges. We also implemented strict version control to minimize merge conflicts, allowing us to focus on integrating our dataset and developing the app. + +## Accomplishments we're proud of +We take pride in crafting a fully functional app with precise image detection and an expiration tracking system. It's an application that echoes our drive for sustainability. + +## What we learned +The value of food and its conservation has been a key takeaway from this project, underscoring the gravity of food wastage globally. + +## What's next for Pantry Sidekick +We aim to implement a notification system with Twilio API to alert users of impending expiries. We also plan to introduce a feature to suggest recipes based on available pantry items, promoting culinary diversity and furthering our reach. + +## Demo +Watch our application in action in the demo video below to see how Pantry Sidekick can transform your pantry management experience: + +https://github.com/Reyhan-Sam/ML-Food-Waste-Management-Recognition/assets/81526349/f6a063f0-7064-45d3-8676-9d05948558f3 + + + + +## Features + +- **Visual Recognition**: Instantly recognize fruits and vegetables using the advanced YOLOv8 model, simplifying the process of adding items to your pantry. +- **Expiry Date Tracking**: Keep track of the expiry dates for each item, allowing you to consume them in an efficient manner and minimize waste. +- **User-Friendly Interface**: Navigate through the app with ease thanks to our straightforward and intuitive design. + +## Tech Stack + +- **Frontend**: HTML, CSS for a sleek and responsive design, enhanced with Bootstrap for styling and components. +- **Backend**: Python with Flask, providing a robust and scalable framework. +- **Database**: SQLite for efficient data storage and retrieval. +- **Machine Learning**: YOLOv8 from Ultralytics, for cutting-edge visual recognition capabilities, with a custom dataset trained using Roboflow. + +## Getting Started + +### Prerequisites + +Before you begin, ensure you have the following installed: +- Python 3.8 or newer +- Flask +- SQLite + +### Installation + +Follow these simple steps to get Pantry Sidekick up and running on your local machine: + +1. Clone the repository: +```bash + git clone https://github.com/Reyhan-Sam/Pantry-SideKick.git +``` + +2. Navigate to the project directory and install the required dependencies: +```bash + cd pantry-sidekick + pip install -r requirements.txt +``` + +3. Set up the Flask application: +```bash + export FLASK_APP=app.py +``` + +4. Initialize the database: +``` bash + flask shell + from app import db + db.create_all() + exit() +``` + +5. Start the Flask server: +```bash + flask run +``` + +6. Open your browser and navigate to http://127.0.0.1:5000/ to start using Pantry Sidekick! + diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 1b411ed..d891513 100644 Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ diff --git a/captured_images/captured_image.png b/captured_images/captured_image.png index 7141b42..150b1dc 100644 Binary files a/captured_images/captured_image.png and b/captured_images/captured_image.png differ diff --git a/instance/database.db b/instance/database.db index d9816a3..72ea07e 100644 Binary files a/instance/database.db and b/instance/database.db differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f0b8c61 Binary files /dev/null and b/requirements.txt differ diff --git a/unnamed.jpg b/unnamed.jpg new file mode 100644 index 0000000..c58b5bc Binary files /dev/null and b/unnamed.jpg differ