Welcome to Slash: Your Ultimate Shopping Companion!
Do you love shopping? Are you in search of some good deals while shopping online?! Slash is here to help you look for the best deals!
Discover the latest deals and discounts from your favorite e-commerce websites with Slash.
We've simplified the way you shop online, making it faster, easier, and more powerful than ever before.
π Key Features
Save Time: Slash helps you find the best deals on your desired items across multiple popular e-commerce websites.
User-Friendly APIs: We offer simple and intuitive public APIs, allowing you to filter, sort, and search through search results effortlessly.
Customizable Output: Slash provides JSON responses that you can easily customize to match your specific needs and requirements.
π Supported Websites
Slash currently supports the following major e-commerce websites:
Walmart,BestBuy,
Costco
We have added a lot of new features to slash in this phase
- Database Integration: In the previous project, data retrieval relied on calling the scraper on every frontend call, resulting in redundant calls causing slow requests for users. However, in our project, we have integrated a database. This significant improvement allows us to store and retrieve data directly from the database, reducing the need to call the scraper repeatedly. Because of this, we were able to enhance speed, reduce scraper calls, and make data more consistent and scalable. It also increases the optimization of resources.
- Enhanced Scraper: Our project has revamped the data retrieval process with a highly improved scraper. This enhanced scraper collects data more efficiently and accurately, ensuring faster updates. Additionally, we've fine-tuned the data formatting, resulting in a more user-friendly and visually appealing display. Users can easily access information, compare prices, view product images, and identify the source websites, providing a superior user experience.
- Image Scraping: Unlike the previous project, we have implemented image scraping in our project. This addition allows users to view product images alongside other information, providing a more comprehensive and engaging experience
- Sorting and Customization: We've empowered users with sorting options based on prices, product names, websites, and more. This flexibility allows users to organize and filter data according to their preferences.
- User Interface (UI): In addition to data enhancements, we've invested in a more attractive and user-friendly interface. The UI has been redesigned for a more engaging and visually appealing experience. We have also improved the search function by streamlining it, ensuring that users can now find the information they need with just the press of a single button. Additionally, we've introduced enhanced functionality for managing data, including sorting of tables and pagination, allowing users to customize their viewing experience by selecting the number of items displayed per page, ranging from 5 items to 10, all the way up to 50 items per page
- Docker Image Accessibility: Users can take advantage of readily available Docker images from our public repository. This accessibility eliminates the need to build images from scratch, saving time and effort.
- Deployment to Kubernetes: Our project is now deployed on Kubernetes, which brings scalability and resilience to our platform. This ensures that users experience consistent and reliable access to the service.
Get ready to supercharge your shopping experience with Slash! π Getting Started Slash is open-source and ready for you to explore. Here's how to begin:
Checkout our video :: Installation :: Technology Used :: Use Case :: Why :: Future Roadmap :: Support
openshift-kubernetes-walkthrough_final.mp4
- 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/SE-Fall2023-Group-41/SlashV2.git
cd SlashV2
- This project uses Python 3 for the scraper, Quarkus for the backend, and React framework for the frontend. You will also need to install Docker.
For the Scraper to work we 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
- First we run the scraper. For this we 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
- For the backend setup ensure that JDK 17 is preinstalled, you will have to cd into the backend. Once in the backend folder, use the command mvnw.cmd
cd backend
For Mac
./mvnw compile quarkus:dev
For Windows
mvnw.cmd quarkus : dev
- For the frontend setup to ensure that Node 20 is preinstalled, you will have to cd into the frontend. Once in the frontend folder, use the command npm start
cd frontend
For Mac
npm start
For Windows
npm start
To run the application using Docker, follow these steps:
-
Navigate to the
backenddirectory:cd backend -
Build the backend application using Maven Wrapper:
./mvnw package -
Return to the project root:
cd .. -
Start the Docker containers:
docker-compose up
These commands above will run and build 4 containers locally.
Here are some handy links to access different aspects of the application:
Swagger UI for Backend: Explore the API using the Swagger UI, where you can experiment and interact with the backend. Below is a snapshot
OpenAPI Specification: Access the OpenAPI specification for a detailed description of the API endpoints.
Slash Web Application: Visit the Slash web application by clicking on this link. Below is a snapshot
Scraper Exposed URL: Access the scraper's exposed URL.
PublicDockerImages: Find our public repositories on Quay.io, where you can conveniently use Docker images without the need to build them from scratch.
Feel free to explore these links to access different components of the application and make the most of its features.- FastAPI : https://fastapi.tiangolo.com
- Docker : https://www.docker.com
- Quarkus: https://quarkus.io/
- Openshifts: https://docs.openshift.com/
Shows the search function for query laptops
Untitled.video.-.Made.with.Clipchamp.mp4
Opens a link of the laptop we are interested to buy
Untitled.video.-.Made.with.Clipchamp.2.mp4
Sorts by website
Untitled.video.-.Made.with.Clipchamp.1.mp4
- 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.
- In a market where we are spoilt for choices, we often look for the best deals.
- The ubiquity of internet access has leveled the retail playing field, making it easy for individuals and businesses to sell products without geographic limitation. In 2020, U.S. e-commerce sales, receiving a boost due to the COVID-19 pandemic, grew 44% and represented more than 21% of total retail sales, according to e-commerce information source Internet Retailer.
- The growth of e-commerce has not only changed the way customers shop, but also their expectations of how brands approach customer service, personalize communications, and provide customers choices.
- E-commerce market has prompted cutthroat competition amongst dealers, which is discernable through the price patterns for products of major market players. Price cuts are somewhat of a norm now and getting the best deal for your money can sometimes be a hassle (even while 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 for your products that major market dealers have to offer!
- Slash in its current form is for students who wish to get the best deals out of every e-commerce site and can be used by anyone who is willing to develop an application that consumes these web APIs.
- Future scope includes anything from a web application with a frontend or any Android or IOS application that utilizes these Web APIs at their backend. Anyone can build their own custom application on top of these web APIs.
- Chrome Extension using the functionalities of Slash API
- An iOS or Android application.
- Add a login feature to store user history to provide features like bookmarking, price drop alerts, and many more.
- Use the stored history to provide personalized product recommendations and deal alerts based on user preferences.
For any queries and help, please reach out to us at: SEslash0041@gmail.com Let Slash be your shopping sidekick and embark on a savings adventure like never before!




