This is a mobile application that uses a Python backend with a zero-shot classification model to classify shopping items into categories during the adding process. The app is designed to make it easier for users to organize their shopping list by automatically classifying items into their respective categories, such as fruits, vegetables, dairy, etc.
To get started with the Python backend, you will need to set up a virtual environment and install the necessary dependencies. Here are the steps:
- Clone the repository to your local machine.
- Navigate to the root directory of the project.
- Create a new virtual environment by running the command
python3 -m venv venv
. - Activate the virtual environment by running the command
source venv/bin/activate
(for Mac/Linux) or.\venv\Scripts\activate
(for Windows). - Install the required Python packages by running the command
pip install -r requirements.txt
.
Once you have completed these steps, you can start the Python backend by running the command flask --app main.py run
. The server will start running on http://localhost:5000
.
To get started with the Flutter app, you will need to set up your development environment and install the necessary dependencies. Here are the steps:
- Install Flutter by following the official documentation.
- Clone the repository to your local machine.
- Navigate to the
smart-shopping-list
directory. - Run the command
flutter pub get
to install the required packages. - Run the command
flutter run
to start the app on your connected device or emulator.
If you want to contribute to this project, you can start by forking the repository and creating a new branch for your changes. Once you have made your changes, you can create a pull request to merge your changes into the main branch.
Here are some ways you can contribute to the project:
- Improve the classification model by adding more categories or improving the accuracy of the existing categories.
- Write tests to ensure the stability and reliability of the codebase.
- Fix any bugs or issues that you encounter while using the app.