This project is a Product Recommendation System designed to provide users with personalized shopping experiences. It integrates user-based and content-based recommendation techniques along with a deep learning model for product recommendation, to suggest relevant products based on user interactions and preferences. The system is implemented as a web application using Flask.
- User Authentication:
- Users can log in and access their personalized recommendations.
- Content-Based Recommendations:
- Suggests products similar to the one currently being viewed.
- User-Based Recommendations:
- Recommends products based on the preferences of similar users.
- Product Search:
- Allows users to search for products by keywords.
- Interactive Dashboard:
- Displays trending products and user-specific suggestions.
- Frontend:
- HTML/CSS for user interface design
- JavaScript for interactive elements
- Backend:
- Python and Flask for server-side logic
- Data Processing:
- Pandas and NumPy for data manipulation
- Scikit-learn for recommendation model development
- Recommendation Techniques:
- TF-IDF for content similarity
- TruncatedSVD for collaborative filtering
- Database:
- SQL for storing user-product interactions
- CSV files for product and user data
-
Clone the repository:
git clone https://github.com/your-repo/product-recommendation-system.git
-
Navigate to the project directory:
cd product-recommendation-system
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.env
file in the project root and add the following:FLASK_SECRET_KEY=your_secret_key
- Create a
-
Run the Flask application:
flask run
-
Open the application in your browser:
- Navigate to
http://127.0.0.1:5000/
.
- Navigate to
project-directory/
|-- static/
| |-- img/ # Images for products and UI
|-- templates/
| |-- *.html # HTML templates for pages
|-- models/
| |-- *.csv # Product and user data files
|-- app.py # Main application file
|-- requirements.txt # Python dependencies
|-- .env # Environment variables
- Login: Enter a valid user ID to access recommendations.
- Search Products: Use the search bar to find products.
- View Similar Products: Click on a product to see content-based recommendations.
- Expand product categories and data sources.
- Include user feedback for improving recommendations.
- Implement real-time data updates.
- Ujair Shaha (GitHub Profile)