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 new exciting features to the Phase-II slash:
- Users can filter the products based on their ratings.
- Users have an option to view the price of the product in their desired currency. We have used an online API for the currency conversion.
- Users can add their products to the wishlist. Here, we used two API's getAllItems, saveCart. In wishlist, users can also refresh the wishlist to see the updated prices of the products.
- Initially, users could only login but now we have added a log out button.
- We have changed the table format to a Card format so that users can view more products at the same time.
- 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.".
- People often look for the best deals with good ratings.
- The widespread availability of internet connectivity has equalized the competitive landscape in retail, enabling both individuals and businesses to market and sell products without being restricted by geographical boundaries. In 2020, e-commerce sales in the United States experienced a substantial 44% growth, largely attributed to the impact of the COVID-19 pandemic. These sales accounted for over 21% of the total retail sales, as reported by the e-commerce data source, Internet Retailer.
- The expansion of e-commerce has not just altered the shopping habits of customers but has also influenced their expectations regarding how brands handle customer service, tailor communications, and offer a variety of choices to customers.
- The competitive environment in the e-commerce market has led to intense rivalry among retailers, evident in the pricing strategies adopted by major market players. Discounts and price reductions have become common, and securing the most favorable deal for your money can occasionally be challenging, even in the realm of online shopping.
- This is what Slash aims to reduce by giving you an easy to use, all in one place solution for finding the best deals where users have an oppurtunity to filter products based on the rating and cheapest prices.
- The updated version of Slash has currency conversion which is very important now-a-days as users want to know the prices of the products in their home currency.
Checkout our video :: Installation :: Technology Used :: Use Case :: APIs used in the Project :: Future Roadmap :: Contributors :: Support
- Users can select an item from a particular website like Amazon, Walmart from the drop box.
- The results are displayed based on the users ratings and the selected currency. Users can add their products to the wishlist.
- The results show that users can successfully add their products to the wishlist and can refresh to see the updated prices.
- The results of the graph show the lowest price and highest price of the product on each website.
Why Slash? Why our product? Check our promo video
Screen.Recording.2023-11-27.at.8.40.17.AM_compressed.mp4
Check the complete implementation of our project!
c49024b9-34c9-4cfd-8aa3-e62027b679a4.mp4
Also, you can watch the video demo of the Slash project with audio explanation and more clarity here https://youtu.be/skk1FX9sCAU.
- 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
cdinto the local repository.
git clone https://github.com/nainisha-b/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.
Install node 18.17.1 #installing older version of node.js
- All the node requirements are listed in
client/package.jsonfile. 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
- In login page, go to services.js and update line 72 the cwd with your folder where npm start should be executed.
cd slash
cd package.json
- For Mac: In scripts line 72 change the start, give the value as "start": "react-scripts --openssl-legacy-provider start",
For MySQL Workbench setup,
-
Importing db schema
-
Changing db credentials from services.js
-
Facing Issues? Refer to the this Stack Overflow Link resolution
- Once all the requirements are installed, you will have to
cdinto thesrcfolder. Once in thesrcfolder, use the python command to run themain.pyfile.
cd src
For Mac
python3 main.py
For Windows
python main.py
- Once the backend is up and running, you will have to
cdinto theLoginPagefolder. Once in theLoginPagefolder, 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
-
saveCart: It is associates the following function with the specified URL endpoint ("/api/saveCart") and HTTP method (POST) that specifies the save_cart function to handle these requests.
-
getAllItems: It associates the following function with the specified URL endpoint ("/api/getAllItems") and HTTP method (GET). So, when a client makes a GET request to "/api/getAllItems," the get_all_items function is called, and it returns a JSON response with a list of items.
Please refer to these API documentation links for details on how to use them in our project.
- To improve the Security of the Application.
- Better API to scrape website.
- Integrate the login page with main react application.
- Work on test cases to improve code coverage.
- Host domain on public server.
- Price Drop Alerts using email or text notification.
- Refer the issues- https://github.com/nainisha-b/slash/issues
For any queries and help, please reach out to us at: slashteam68@gmail.com









