A system that recommends groceries by identifying related products based on user input and preferences.
Check it out live : grocerypicks.onrender.com
-
Product Recommendation: Developed a machine learning model using Apriori algorithm to suggest products based on customers' purchase histories.
-
API Development with Django: Built an API with Django, enabling smooth integration and user-friendly access to the recommendation system.
-
Unit Testing & Linting: Implemented unit tests to validate functionality and used Flake8 for effective code linting.
-
Containerized Application: Containerized the application using Docker to ensure consistent deployment and performance across multiple environments.
-
Automated CI/CD Pipeline: Configured GitHub Actions to automate the integration and deployment processes to maintain code quality and project integrity.
-
Efficient Deployment Configuration: Deployed using Gunicorn for performance and Whitenoise for efficient static file handling.
-
Live on Render: Successfully deployed the application on Render for easy access and scalability.
github.com/SA-K1B/Grocery_recommendation_model
- Clone the repo
git clone https://github.com/SA-K1B/Django_Grocery_recommendation.git
- Build Image
docker compose up --build
-
Set up a virtual environment
python -m venv myenv
-
Activate the virtual environment
On macOS/Linux
source myenv/bin/activateOn windows
myenv\Scripts\activate
-
Upgrade pip
python -m pip install --upgrade pip
-
Install the required packages
pip install -r requirements.txt
-
Run database migration
python manage.py migrate
-
Collect static files
python manage.py collectstatic --noinput
-
Run the development server
python manage.py runserver
Now, a HTTP server will start up, listening on port 8000. You will see the app running at https://localhost:8000.
-
Every push triggers automated unit tests to validate functionality.
-
Flake8 performs code linting to ensure coding standards.
-
The application is built into a Docker container for consistent deployment and pushed to Docker Hub.
-
The application is hosted on Render, deployed from Docker Hub.
A Python package for serving static files directly from web application. While Django includes built-in support for handling static files, it's mainly designed for development purposes and is not optimal for use in production environments.
Gunicorn is a WSGI compliant web server for Python Applications that receives requests sent to the Web Server from a Client and forwards them onto the Python applications or Web Frameworks.