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.
We have added a lot of new features to slash in our Phase-II.
- A web interface for users to interact with the application in a more personalised way.
- Substituted web scraping with website product APIs for enhanced efficiency and speed.
- Added a new e-commerce website Home Depot
- Added the reviews section where users can see review of the product on respective e-commerce website.
-
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.
-
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.
-
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
_.mp4
Also, you can watch the video demo of the Slash project with audio explanation here https://youtu.be/XH2iKbnvyMs.
- 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
- 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.jsFacing Issues? Refer to the this Stack Overflow Link resolution
- Once all the requirements are installed, you will have to
cd
into thesrc
folder. Once in thesrc
folder, use the python command to run themain.py
file.
cd src
For Mac
python3 main.py
For Windows
python main.py
- Once the backend is up and running, you will have to
cd
into theLoginPage
folder. Once in theLoginPage
folder, use the node command to start the webserver.
cd LoginPage
nodemon services.js
Open Login.html in the web browser
- FastAPI : https://fastapi.tiangolo.com
- ASGI Server - Uvicorn : https://www.uvicorn.org
- 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.
Here are the APIs used in our project:
-
Amazon: Amazon API Documentation
-
Walmart: Walmart API Documentation
-
Target: Target API Documentation
-
The Home Depot: The Home Depot API Documentation
-
Ebay: We used the Ebay SDK, which can be found in the project's requirements. Please refer to the SDK's official documentation for more information.
- Ebay SDK Documentation: Ebay SDK Documentation
Please refer to these API documentation links for details on how to use them in our project.
- 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.
For any queries and help, please reach out to us at: [email protected]