Skip to content

Slash, the openly accessible web API framework, empowers you to scour the top e-commerce sites for unbeatable deals on your favorite items across a multitude of online shopping destinations. Currently supported websites include Amazon, Walmart, Target, BestBuy, Costco, EBay and The Home Depot.

License

Notifications You must be signed in to change notification settings

NCSU-Group70-CSC505-SE-Fall-23/slash

Β 
Β 

Repository files navigation

GitHub github workflow DOI Github Github GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests GitHub commit activity (branch) GitHub repo size codecov

On the hunt for incredible online deals? Meet Slash, your savvy shopping sidekick!

Slash, the openly accessible web API framework, empowers you to scour the top e-commerce sites for unbeatable deals on your favorite items across a multitude of online shopping destinations. Currently supported websites include Amazon, Walmart, Target, BestBuy, Costco, EBay and The Home Depot.

  • Efficient: Slash streamlines the deal comparison process, potentially saving you more than 50% of your valuable time.
  • User-Friendly: Slash offers user-friendly public APIs for effortlessly filtering, sorting, and searching through search results.
  • Versatile: It generates JSON responses that you can easily tailor to achieve the specific outcomes you want.

πŸš€ What's new?

We have added a lot of new features to slash in our Phase-II.

  1. A web interface for users to interact with the application in a more personalised way.
  2. Substituted web scraping with website product APIs for enhanced efficiency and speed.
  3. Added a new e-commerce website Home Depot
  4. Added the reviews section where users can see review of the product on respective e-commerce website.

πŸ“„ Why

  1. Anti-Web Scraping Measures

    • Challenge: Many popular websites, including Amazon and Walmart, employ anti-web scraping mechanisms, making it difficult to extract data using conventional scraping methods.
  2. Transition to APIs

    • Solution: To overcome this challenge, we've transitioned from traditional web scraping in the backend to leveraging official APIs provided by these websites. This strategic shift not only preserves the project's core functionality but also enhances its robustness.
  3. Enhanced Data Reliability

    • Benefit: APIs deliver data in a structured and reliable format, reducing the risk of unexpected data disruptions. In contrast, web scraping is vulnerable to frequent changes in website structure, which can break scraping scripts. This transition ensures more dependable and consistent data access.

These changes have significantly improved the reliability and sustainability of data retrieval in our project.

Future possibilities encompass the development of web applications with intuitive interfaces and mobile applications for Android and iOS, all powered by these web APIs. Anyone can construct their custom applications atop this foundation of web APIs.".


Checkout our video :: Installation :: Technology Used :: Use Case :: APIs used in the Project :: Future Roadmap :: Contributors :: Support


πŸŽ₯ Checkout our video

_.mp4

Also, you can watch the video demo of the Slash project with audio explanation here https://youtu.be/XH2iKbnvyMs.


: Requirements

  1. Visual Studio Code
  2. Python 3.7 and above
  3. Node.js and NPM
  4. MySQL Workbench

πŸš€ Installation

  1. Clone the Github repository to a desired location on your computer. You will need git to be preinstalled on your machine. Once the repository is cloned, you will then cd into the local repository.
git clone https://github.com/secheaper/slash.git
cd slash
  1. This project uses Python 3 for the backend and React along with Javascript framework for the frontend. This project employs MySQL Workbench to authenticate the users hitting on the frontend.

For the backend setup ensure that Python and Pip are preinstalled. All the python requirements of the project are listed in the requirements.txt file. Use pip to install all of those.

pip3 install -r requirements.txt

For the frontend setup ensure that Node is preinstalled. All the node requirements are listed in client/package.json file. Use npm to install all of those.

cd client
npm install --legacy-peer-deps

For the login page setup, to install all the requirements which are listed in 'LoginPage/package.json' file. Use npm to install all of those.

cd LoginPage
npm install express
npm install mysql
npm install cors
npm install nodemon

For MySQL Workbench setup, Importing db schema

Changing db credentials from services.js

Facing Issues? Refer to the this Stack Overflow Link resolution

  1. Once all the requirements are installed, you will have to cd into the src folder. Once in the src folder, use the python command to run the main.py file.
cd src

For Mac
python3 main.py

For Windows
python main.py
  1. Once the backend is up and running, you will have to cd into the LoginPage folder. Once in the LoginPage folder, use the node command to start the webserver.
cd LoginPage
nodemon services.js

Open Login.html in the web browser

πŸ’» Technology Used

πŸ’‘ Use Case

  • Students: Students coming to university are generally on a budget and time constraint and generally spend hours wasting time to search for products on Websites. Slash is the perfect tool for these students that slashes all the unnecessary details on a website and helps them get prices for a product across multiple websites.Make the most of this tool in the upcoming Black Friday Sale.
  • Data Analysts: Finding data for any project is one of the most tedious job for a data analyst, and the datasets found might not be the most recent one. Using slash, they can create their own dataset in real time and format it as per their needs so that they can focus on what is actually inportant.

πŸ—„οΈ API

Here are the APIs used in our project:

Please refer to these API documentation links for details on how to use them in our project.

β›³ Future Roadmap

  • Host website on a public server so customers can use it
  • Add login feature to store user history to provide features like bookmarking, price drop alerts and many more.
  • Our API can be used by end users such as developers who are tech-savvy individuals looking to get a one stop solution for web scraping ecommerce websites such as Amazon, Target, Ebay,etc along with API access to multiple ecommerce websites. It'll be available directly for access to people without having to dive deep into the code.
  • Chrome Extension using the functionalities of Slash API
  • An iOS or Android application.

Team Members

Phase 2 Team Members

πŸ“§ Support

For any queries and help, please reach out to us at: [email protected]

About

Slash, the openly accessible web API framework, empowers you to scour the top e-commerce sites for unbeatable deals on your favorite items across a multitude of online shopping destinations. Currently supported websites include Amazon, Walmart, Target, BestBuy, Costco, EBay and The Home Depot.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.6%
  • Python 3.1%
  • CSS 2.0%
  • Other 0.3%