/cheapBuy

cheapBuy Extension provides you ease to buy any product through your favourite website's like Amazon, Walmart, Ebay, Bjs, Costco, etc, by providing prices of the same product from all different websites to extension.

Primary LanguagePythonMIT LicenseMIT

DOI codecov Build Status Python Style Checker Run Tests On Push Lint Python Running Code Coverage Close as a feature

cheapBuy license cheapBuy forks gcheapBuy stars cheapBuy issues cheapBuy issues closed cheapBuy pull-requests

Lines of code

Report Bug ยท Request Feature

Watch the demo here

cheapBuy

Table of Contents

๐Ÿ“– Introduction

cheapBuy Extension provides you ease to buy any product through your favourite website's like Amazon, Walmart, Ebay, Bjs, Costco, etc, by providing prices of the same product from all different websites to extension. It takes lot of time to search for the same product in different websites, and find the cheapest one, instead just add our extension cheapBuy and it will automatically fetch you price of the same product from different websites and you can directly compare the prices from different websites through our extension. In sum, cheapBuy is an one stop solution to buy the cheapest product online.

๐Ÿง Features

  • Price Comparison
  • Get alternative website for the product
  • Highlight Cheapest product

๐Ÿš€ Demo

The project is deployed on Streamlit cloud:

๐Ÿ› ๏ธ Steps of Execution

  1. Clone the github repository at the preferable location in your local machine. You will need git to be preinstalled in the system. Once the repository is cloned in your system, with the help of cd command ,
git clone https://github.com/anshulp2912/cheapBuy.git
cd cheapBuy
  1. This project uses Python 3, so make sure that Python and Pip are preinstalled. All requirements of the project are listed in the requirements.txt file. Use pip to install all of the requirements.
pip install -r requirements.txt
  1. Check out the demo video to know about the use of the website in the media files.
  2. To locally run the streamlit website, we would recommend setting up an Anaconda Environment and running the command
streamlit run cheapBuy_user_interface.py

๐Ÿ“… Plan of Action

PHASE-1โœ…

  1. Fetching descirption of the user's current tab for ebay.
  2. Fetching descirption of the user's current tab for Walmart.
  3. Fetching descirption of the user's current tab for amazon.
  4. Fetching descirption of the user's current tab for Bjs.
  5. Fetching descirption of the user's current tab for Costco.
  6. Web Scrapping various product details from Amazon.
  7. Web Scrapping various product details from Ebay.
  8. Exception handling of web scrapping.
  9. Server API for web scrapping.
  10. Deploying server on AWS.
  11. Build an extension for this price comparison.
  12. Extract knowledge like prices, sites, URL, comparison, description from scrapped data.
  13. Show all the scrapped data and the knowledge gained on the extension page.

PHASE-2 โœ…

  1. Develop a website instead of extension.
  2. Improvement of extension UI.
  3. Highlight the cheapest option available.
  4. Code restructuring.
  5. 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.
  6. Web Scrapping various product details from Walmart.
  7. Web Scrapping various product details from Costco.
  8. Web Scrapping various product details from BJs.
  9. Improve code execution speed using multithreading.

PHASE-3 โŒ›

  1. Fetching descirption of the user's current tab for Target.
  2. Fetching descirption of the user's current tab for Trader Joes.
  3. Fetching descirption of the user's current tab for Kroger.
  4. Web Scrapping various product details from Target.
  5. Web Scrapping various product details from Trader Joes.
  6. Web Scrapping various product details from Kroger.
  7. Automatic deployment of server using Teraform or ansible.
  8. Improve code execution speed using multiprocessing.
  9. Improve website UI.
  10. Add a badge on the user's current tab.
  11. Dashboard including how many user's click on the website.
  12. Email notification of the available coupon to the user.
  13. Alternate product suggestion feature.
  14. Show a available coupon on other shopping website.

๐ŸŒŸ You are all set! ๐ŸŒŸ

๐Ÿ“ License

This project is licensed under the terms of the MIT license. Please check License for more details.

๐Ÿฐ Contributing

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.

๐Ÿ‘ฅ Team Members


Anshul Navinbhai Patel

Bhavya Agrawal


Darshan Manharbhai Patel


Pragna Bollam


Rohan Jigarbhai Shah

๐Ÿ™ Acknowledgements

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 Xiao Ling, Andre Lustosa, Kewen Peng, Weichen Shi for their support throughout the project. We would also like to extend our gratitude to previous group : https://github.com/het-patel99/cheapBuy