- Introduction
- Features
- Installation Steps
- Plan of Action
- Video
- License
- Contributing
- Team Members
- Acknowledgements
CheapBuy is a user-friendly website that simplifies online shopping with an improved interface. It offers convenient price comparisons for the same product across various websites, including popular ones like Amazon, Walmart, eBay, BJ's, Costco, and more. With user accounts, personalized wishlists, and the ability to filter and select multiple websites at once, cheapBuy provides a seamless shopping experience. This streamlined process not only saves you time and money but also offers the convenience of personalized wishlists and account features, making cheapBuy your go-to solution for finding the bestΒ dealsΒ online.
-
Clone the GitHub Repository:
- Clone the GitHub repository to your preferred location on your system. Ensure that Git is preinstalled.
git clone https://github.com/csc510fall23g45/cheapBuy.git cd cheapBuy
- Clone the GitHub repository to your preferred location on your system. Ensure that Git is preinstalled.
-
Install Python and Pip:
-
Install Project Dependencies:
- Install the project dependencies listed in the
requirements.txtfile using the following command:pip install -r requirements.txt
- Install the project dependencies listed in the
-
Generate ScrapeOps API Key:
- Visit ScrapeOps website, sign in to your account, and navigate to the API Keys section. Create a new API key in the ScrapeOps dashboard nd verify your email address to start scraping using the api-key.
Set Environment Variable for Windows PowerShell:
$Env:SCRAPEOPS_API_KEY = "your_api_key_here"Set Environment Variable for macOS and Linux:
export SCRAPEOPS_API_KEY="your_api_key_here"Set Environment Variable for Windows Command Prompt:
set SCRAPEOPS_API_KEY=your_api_key_hereReplace "your_api_key_here" with the actual API key you obtained from ScrapeOps. This key will be used for making requests to the ScrapeOps API within the project.
Run Flask Application:
- Execute the following command to run the Flask application:
python app.py- Navigate to the provided link (usually
http://127.0.0.1:5000/) in your web browser to use cheapBuy.
- Fetching descirption of the user's current tab for ebay.
- Fetching descirption of the user's current tab for Walmart.
- Fetching descirption of the user's current tab for amazon.
- Fetching descirption of the user's current tab for Bjs.
- Fetching descirption of the user's current tab for Costco.
- Web Scrapping various product details from Amazon.
- Web Scrapping various product details from Ebay.
- Exception handling of web scrapping.
- Server API for web scrapping.
- Deploying server on AWS.
- Build an extension for this price comparison.
- Extract knowledge like prices, sites, URL, comparison, description from scrapped data.
- Show all the scrapped data and the knowledge gained on the extension page.
- Develop a website instead of extension.
- Improvement of extension UI.
- Highlight the cheapest option available.
- Code restructuring.
- Improve accuracy of the product. Example : If user's current tab is having Television of a particular brand and there is a better option available at a cheaper or comparable rate than provide alternative product accordingly.
- Web Scrapping various product details from Walmart.
- Web Scrapping various product details from Costco.
- Web Scrapping various product details from BJs.
- Improve code execution speed using multithreading.
- Fetching descirption of the user's current tab for Bestbuy.
- Fetching descirption of the user's current tab for Trader Joes.
- Fetching descirption of the user's current tab for Kroger.
- Web Scrapping various product details from Bestbuy.
- Web Scrapping various product details from Trader Joes.
- Web Scrapping various product details from Kroger.
- Improve code execution speed using multiprocessing.
- Improve website UI.
- Add a sidebar.
- Users can choose the selected website and price range.
- Improve the accuracy of searching products.
- Link buttons for all websites.
- Showing the cheapest product from every website (previously they were giving the first product and not the least cost one).
- Remove the product link and use the product name or description to search.
- Fix proxy issues in web scraping of all websites.
- Increase the speed of execution of single site selection.
- Remove the Chrome Driver from web-scrapers to decrease the latency.
- Optimise the results fetching time.
- Remove price range as we are looking for the cheapest product across a website or on a website.
- Enhance the user interface, and keep only relevant images and content.
- Reduce the time complexity and latency for the product search by removing inner loops.
- Implemented a new functionality that allows users to effortlessly set up new accounts.
- Implemented a new wishlist feature that empowers users to personalize and seamlessly save their desired products.
- Updated the front-end framework to Flask to improve the page hosting.
- Enhanced the user interface.
- Added option for users to select one or more websites for selected searching.
- Improved Test case code coverage from 27% to 67%.
- Secured the ScrapeOps API key using environment variables.
- Fixed web scraper issues for BJs, Costco and eBay.
- Creating ordering and payment functionality for customers to directly order from Website.
- Email notification of the available coupon to the user.
- Adding more filter options.
- Creating multiple wishlists.
- Decrease the load time.
- Storing the data more securly.
- Add more websites for web scrapping like Target, Kroger, and Traderjoes.
π You are all set! π
CSC 510 - Project 3 - Project Demo
This project is licensed under the terms of the MIT license. Please check License for more details.
Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.
Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us.
Click here for project 3 rubric
Sai Raj |
Nitya |
Anish |
Mahathi |
| Name | Unity ID |
|---|---|
| Sai Raj Thirumalai | sthirum4 |
| Nitya Naga Sai Atluri | natluri |
| Anish Rao Toorpu | atoorpu |
| Mahathi Kolishetty | mkolish |
To Subscribe and for any help, please reach out to us at: sefall2023project45@gmail.com
We would like to thank Professor Dr Timothy Menzies for helping us understand the process of building a good Software Engineering project. We would also like to thank the teaching assistants San Gilson, Andre Lustosa, Xueqi (Sherry) Yang, Yasitha Rajapaksha, and Rahul Yedida for their support throughout the project. We would also like to extend our gratitude to the previous group : [https://github.com/EZ7051/cheapBuy]





