se2024-jpg / Slash

Slash is a tool that scrapes the most popular e-commerce websites to get the best deals on searched items, so that you can get the best value for your money!
MIT License
0 stars 0 forks source link

Slash 2.0

Slash Your Spending, Not Your Style - Smarter Shopping, Personalized Just for You!

GitHub license DOI Github codecov Run Tests On Push Lint Python Close as a feature Python Application Python Style Checker CodeQL Running Code Coverage GitHub issues GitHub closed issues GitHub closed pull requests Last Commit

GitHub forks GitHub stars

Slash is a tool that scrapes the most popular e-commerce websites to get the best deals on searched items across these websites. Currently supported websites include Walmart, Target, BestBuy, Amazon, Google Shopping, Etsy, and EBay.

:thought_balloon: Use Case

:rocket: Quick Guide

  1. Access the Github repository from your computer.
git clone https://github.com/se2024-jpg/Slash.git
cd slash
  1. Run the installation script install.py:
python3 install.py
  1. Run the project
flask run
  1. Access the application
http://localhost:5000

## 🔑 **Setting up Google OAuth Login** Follow these steps to configure and enable Google OAuth login: ### 1️⃣ **Create a Google OAuth App** 1. Visit the [Google Cloud Console](https://console.cloud.google.com/). 2. Create a new project or select an existing one. 3. Enable the necessary APIs: - Go to **APIs & Services > Library**. - Search for **Google Identity API** and enable it. 4. **Set up the OAuth Consent Screen**: - Navigate to **APIs & Services > OAuth consent screen**. - Choose **External** as the User Type. - Provide essential details like **App Name**, **Support Email**, and **Developer Contact Info**. - Add OAuth scopes: - `email` - `profile` - `openid` - Save and **Publish** the consent screen. 5. **Create OAuth Credentials**: - Go to **APIs & Services > Credentials**. - Click **Create Credentials > OAuth Client ID**. - Choose **Web Application** as the Application Type. - Add an **Authorized Redirect URI**: `http://localhost:5000/google/callback` - Save the **Client ID** and **Client Secret** for use in your application while running install.py file. --- # :dizzy: What's New? (Slash 2.0 Updates) Slash 2.0 introduces a variety of new features and improvements aimed at enhancing user experience, security, and overall functionality. Below is a detailed breakdown of the key updates: ### **1. Enhanced Security: Two-Factor Authentication (2FA)** - **Two-Factor Authentication (2FA)**: - Slash 2.0 now supports 2FA for a more secure login process. - Users will receive an OTP (One-Time Password) via email, which must be entered to verify their identity. - This additional layer of security ensures that only authorized users can access their accounts. ### **2. Data Security: Migration to a Secure Database** - **Database Migration**: - All data, including user credentials and product details, has been migrated from `.csv` files to a secure, centralized database. - This move ensures better performance, scalability, and more robust data protection. ### **3. User Interface: UI Overhaul** - **UI Refresh**: - Slash 2.0 introduces a completely redesigned user interface. - The new interface is more intuitive, modern, and user-friendly, improving overall navigation and accessibility. ### **4. Voice Search: Hands-Free Product Search** - **Voice Search Functionality**: - Slash 2.0 now supports voice search through speech-to-text technology. - Users can perform searches hands-free, improving convenience and speeding up the search process. ### **5. Product Tracking: Wishlist and Price Drop Alerts** - **Wishlist**: - Users can now save products to a Wishlist for future reference. - This allows users to easily track and revisit items they are interested in buying later. - **Price Drop Alerts**: - Slash 2.0 now sends notifications when the price of a product drops. - Users are alerted when items they are interested in become more affordable, helping them to grab the best deals. ### **6. Product Comparison: Side-by-Side Product Analysis** - **Product Comparison**: - Users can now compare specific products across various e-commerce websites. - This feature allows side-by-side comparisons of product specifications, prices, and availability, helping users make more informed purchase decisions. ### **7. Search Insights: Visualization Bar** - **Visualization Bar**: - Slash 2.0 introduces a visualization bar that provides insights into the search results. - The bar displays the number of products found across different platforms like Walmart, Amazon, eBay, etc., giving users an overview of the search breadth. ### **8. AI-Powered Recommendations** - **Product Recommendations**: - Slash 2.0 leverages artificial intelligence to recommend products based on previous searches. - These personalized suggestions help users discover related products they may not have encountered otherwise, improving the shopping experience. ### **9. Simplified Installation and Secure API Management** - **Simplified Installation**: - Slash 2.0 features an easier and more organized installation procedure. - The new setup process allows users to quickly install and configure the application with minimal steps. - **Secure API Management**: - API keys and credentials are now managed in a more secure way during installation. - This ensures sensitive data is protected, following best practices for handling API keys securely. ## :movie_camera: Checkout our demo video [Demo Video](https://drive.google.com/drive/u/1/folders/1tRRzmXGZRy-uGt5Z1rGEtTKSrcvKeNcA) # :muscle: What's next for future development? ### 1. Real-Time Notification System - **Real-Time Price Alerts**: Implement real-time notifications that alert users when a product on their wishlist or tracked products has its price drop or when a limited-time deal becomes available. - **Email and SMS Notifications**: Users can opt to receive notifications via email or SMS for important updates, such as a price drop, availability change, or when a product becomes eligible for a deal. - **Push Notifications for New Deals**: Enable push notifications within the app to notify users of new deals based on their search preferences or previously tracked products. ### 2. Predictive Pricing Algorithms - **Dynamic Price Prediction**: Develop a predictive pricing model that estimates whether the price of a product will increase or decrease over time based on historical price data and market trends. - **Price Drop Prediction**: Implement machine learning to predict potential future price drops, alerting users when they should buy based on the likelihood of price changes. - **Market Demand Predictions**: Analyze market demand and historical trends to forecast the best times to buy specific products, helping users make informed purchasing decisions. ### 3. Enhanced Data Storage and Management - **Distributed Data Storage**: Implement distributed data storage solutions like NoSQL databases (e.g., MongoDB, Cassandra) to efficiently handle the growing amount of user data, product listings, and price history. - **Data Archiving and Retrieval**: Use data archiving techniques to store old price data, ensuring fast access to historical information without compromising system performance. - **User Behavior Data Analytics**: Store and analyze user interaction data to generate insights into user preferences, helping tailor product recommendations and improve user experience. ### 4. Cloud-Native Infrastructure - **Serverless Computing for Price Scraping**: Move to serverless architecture (e.g., AWS Lambda, Google Cloud Functions) to handle product scraping dynamically. This will allow Slash to scale without the need for dedicated server management, especially during peak traffic periods. - **Cloud Load Balancing**: Use load balancing services to distribute traffic across multiple servers, ensuring Slash remains highly available and can handle large numbers of concurrent users without slowdown. - **Cloud-based Caching**: Implement caching mechanisms (e.g., Redis or Memcached) in the cloud to store frequently accessed data like product prices, reducing latency and improving response time. ### 5. Containerization and Kubernetes - **Containerization with Docker**: Containerize Slash using Docker to simplify development, testing, and deployment. This ensures consistent environments across all stages of development, making scaling easier. - **Orchestration with Kubernetes**: Use Kubernetes to manage containers in production, ensuring efficient scaling, self-healing (auto-scaling and restarting), and better resource allocation for handling traffic spikes. - **Microservices Architecture**: Break Slash into microservices (e.g., for user authentication, product tracking, price comparison) to allow independent scaling and development of different features. ### 6. AI-Powered Deal Prediction - **Deal Prediction and Smart Alerts**: Using AI, predict when certain products might go on sale and send smart alerts to users, recommending the best time to purchase a product based on historical price data. ### 7. Multi-Platform Integration - **Browser Extension**: Develop a browser extension that allows users to track product prices directly while shopping on e-commerce platforms like Amazon, Walmart, or eBay. Users can add products to their wishlist, set price alerts, and compare prices on the go. - **Mobile App Expansion**: Expand Slash’s functionality with native mobile applications for iOS and Android, enabling users to access price comparisons, track deals, and receive notifications directly on their phones. ### 8. Smart Inventory and Product Availability Monitoring - **Real-Time Stock Monitoring**: Integrate with e-commerce platforms to track product availability in real-time, alerting users when items are back in stock or when new deals are available. - **Low Stock Alerts**: Notify users when a product they are interested in is low on stock or has limited availability, ensuring they don't miss out on deals. - **Automatic Reordering**: For users who consistently track certain products, offer automatic reorder options when a product price drops or becomes available. # Additional Information For Additional Information direct to this [page](https://github.com/se2024-jpg/Slash/tree/Features/docs) and check all the markdown files # Chat Channel ## :sparkles: Contributors


Girish G N

Joel Jogy George


Pravallika Vasireddy

## :email: Support For support and inquiries related to **Slash 2.0**, please contact us at **csc510group77@gmail.com**. We are here to assist you and address any questions or issues you may have. We appreciate your interest and look forward to providing you with the best possible support and updates.