Skip to content

Slash is a tool that scrapes the most popular e-commerce websites to get the best deals on searched items across these websites.

License

Notifications You must be signed in to change notification settings

bhavya180301/slash

Β 
Β 

Repository files navigation

GitHub License DOI Github GitHub issues GitHub closed issues GitHub pull requests codecov Build/Test Python Style Checker Lint Python

Introduction

Meet Slash, not just a tool but a revolution in the world of online shopping. It's designed to transcend the conventional boundaries, promising not only utility but a seamless experience of effortless savings and unparalleled convenience.

What it Does

Slash redefines how you shop online. No more tedious comparisons across e-commerce platformsβ€”Slash accomplishes it within seconds, giving you back over 50% of your valuable time. Its user-friendly commands make navigating through deals an intuitive and enjoyable process, turning the search for the best deals into a breeze. More than a tool, Slash empowers you with customization, allowing you to tailor your search results instantly. And the excitement doesn't end thereβ€”explore our latest releases, the Mini Version and Full Version, ushering in a new era of convenience and efficiency in your online shopping endeavors. Embrace the future of online shopping with Slash, where every click brings you closer to a world of savings and unparalleled satisfaction. Try it now and elevate your online shopping experience!

  • πŸ”„ Easily compare deals across leading e-commerce websites with Slash, streamlining your shopping experience.
  • ⏰ Save over 50% of your time by accelerating product search and comparison processes with Slash.
  • πŸ€– Use simple commands to filter, sort, and search items, ensuring a user-friendly and efficient experience.
  • πŸŽ›οΈ Swiftly modify commands for precise search results, tailoring your shopping experience with ease.
  • πŸ†• Explore enhanced features and improvements with the latest releases, catering to diverse user preferences.
  • ❀️ Easily add desired items to your wishlist for future reference or tracking.
  • πŸ’° Keep track of wishlist items and receive notifications when prices drop, ensuring you never miss a great deal.
  • 🌐 Navigate effortlessly from product search to wishlist management, ensuring a smooth shopping journey.
  • πŸš€ Slash transforms online shopping, making it faster, easier, and more personalized for users with diverse interests.

Features Added In Phase 5

UI Improvements:

  • πŸ”„ Sign Up Page / Login Page: Improved the layout of both pages and navbars to enhance user experience and navigation.
  • πŸ–ΌοΈπŸ” Landing Page: Enhanced the user interface by incorporating images and suggesting product categories for user searches.
  • πŸ”„ Results Page: Improved the display of the results page by transitioning to a tile format and including product images along with relevant details.
  • πŸ›οΈπŸ”„ Wishlist Page: Modified the navigation and layout of the Wishlist page for a more user-friendly experience.
  • πŸš€ Added Navbar: Introduced a navbar for smoother navigation across different pages.
  • πŸ—‚οΈ Category Page: Added a new categories page to that lists popular items in that particular category to enhance the categorization of products.

Backend Calls:

  • πŸ“‰ Check Price Drop: Added functionality to check if the price of a wishlisted product has dropped.
  • ⏰ Set Price Alert and Stop Price Alert: Implemented the capability for periodic checks on potential price drops in wishlisted items.
  • πŸŒβœ… Website Category Filter: Added a feature to filter products based on one or more websites using checkboxes.
  • πŸ“§ Automated Emails on Price Drop: Integrated with the set-price-alert method to notify users via automated email if the price of a wishlisted product drops during periodic checks.

Additional Features:

  • πŸ“Έ Image Scraping: Introduced image scraping along with other product details.
  • β­πŸ”’ Number of Ratings: Added a feature to check the number of ratings given to a product, in addition to displaying the rating.
  • πŸ—‚οΈπŸ”„ New Categories Page and Corresponding Backend Calls: Added a new categories page and the necessary backend calls to support it.

Bugs Fixed:

  • πŸœπŸ› οΈ Add to Wishlist Function: Initially called inside the filter function, it now has a separate function to avoid filtering results each time a product is added to the wishlist.
  • πŸš€πŸ—ΊοΈ Enhanced UI Navigation: Improved navigation through the incorporation of a navbar to address and resolve existing bugs.
  • βœ”οΈπŸ“Š Test Coverage: The original test cases were not working, so we have rectified them and added 10 more to achieve a test coverage of 80%.

Preview

  • Landing Page

    We have enhanced the user interface by incorporating images and suggesting product categories for user searches.

  • Category Page

    We have added a new categories page to that lists popular items in that particular category to enhance the categorization of products.

  • Results Page

    We have improved the display of the results page by transitioning to a tile format and including product images along with relevant details.

  • Wishlist Page

    We have improved the navigation and layout of the Wishlist page for a more user-friendly experience and added check price drop and start and stop price alert functionalities.

  • SignUp Page

    We have improved the layout and navbars to enhance user experience and navigation.

  • Login Page

    We have improved the layout and navbars to enhance user experience and navigation.

Link to Phase 5 Video:

Link to video

Link to Delta Document for additional Information:

Link to Doc

Link to API Routes Documentation:

Link to Doc

Link to Score Cards/Rubric:

Link to Rubric

We have used the following technologies for the development of this project:

js python css Flask

Installation Steps

  1. Access the Github repository from your computer.
  • First, pre-install git on your machine.
  • Then, clone the following repo:
https://github.com/bhavya180301/slash.git
  • Finally, cd into the local repository.
cd slash
  1. Install the requirements.txt.
  • This project uses Python 3, so make sure that Python and Pip are preinstalled.
  • Install the requirements.txt file using pip.
pip3 install -r requirements.txt
  1. Running the program
  • Use the python command to run the slash.py file.
python3 -m src.slash --search socks
  • To run UI version, execute the following commands
    • cd src/modules
    • python (Inside the python console, implement these commands sequentially)
    • from app import app,db
    • app.app_context().push()
    • db.create_all()
    • from app import Users
    • from app import Wishlist
    • db.session.commit()

4. After completing the Installation and all project dependencies are installed. 5. Make sure you are in the base directory. 6. Use the following commands

MAC export FLASK_APP=./src/modules/app python3 -m flask run

Windows set FLASK_APP=.\src\modules\app python3 -m flask run

  1. Once flask is running, open your internet browser and type http://127.0.0.1:5000/ into the search bar.

Code Coverage

We have rectified the original test cases and added 10 more to achieve a test coverage of 80%.

Future Scope

  • Can use selenium driver for smoother and faster scraping process.
  • Can include an option to check the availability of products in nearby stores.
  • Can shift to nosql database.
  • Increase the number of filters. Filter by price range and rating range.

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.

Contribution

Please refer the CONTRIBUTING.md file for instructions on how to contribute to our repository.

License

This project is licensed under the MIT License.

Contributors

Group 21
Bhavya Harchandani

Mitali Sethi


Akshat Saxena


Siddharth Shah

Funding Information

This project has not yet been funded by any source.

Support

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

About

Slash is a tool that scrapes the most popular e-commerce websites to get the best deals on searched items across these websites.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 52.8%
  • HTML 47.2%