An advanced price comparison tool designed to simplify the process of comparing product prices across various websites.
Explore the design specification »
View deployed website »
View Video Demo
·
Check backend API docs
·
Request Feature
Buidl more ---> Full stack Amazon price tracker
Effortlessly compare prices, review counts, ratings, and more from a variety of websites, providing you with comprehensive insights. Tailor your search experience with customizable parameters, including search terms, filters for highest/lowest price or review rating, and the ability to specify the number of top results. Benefit from multi-website support, allowing you to fetch and compare data from a minimum of five distinct comparison websites.
Currently supported e-commerce platforms: Amazon, Flipkart, AliBaba, Snapdeal, Nykaa.
The responsive web interface ensures a user-friendly experience, while backend caching optimizes performance by storing spot price comparisons for efficient retrieval during repeat searches. ShopScout is your go-to tool for making informed purchasing decisions with ease.
- Backend: Node.js, Express.js, MongoDB, Mongoose, Fetch, Cheerio.
- Frontend: React, TypeScript, HTML, CSS (Tailwind CSS).
- Deployment: Railway, Vercel.
- Infrastructure as Code: Terraform.
- Node.js installed (version 14 or higher)
- npm or pnpm package manager installed
- MongoDB installed and running
-
Clone the ShopScout repository:
git clone https://github.com/IdealisticINTJ/Shop_Scout.git cd ShopScout -
Install Backend Dependencies:
cd server npm install -
Install Frontend Dependencies:
cd ../client npm install -
Start the Backend Server:
cd ../server npm start -
In a new terminal, start the Frontend server:
cd ../client npm start -
Open your browser and navigate to http://localhost:3000.
-
ShopScout should now be running. Explore the product comparison features!
Additional Notes
Make sure you have NodeJS installed on your machine. If needed, adjust the port numbers and other environment variables in the .env file. Configure environment variables and handle sensitive information securely, especially in production deployments.| Feature | Description | Status |
|---|---|---|
| Localized Currency and Deal Analysis | Provide users with the option to choose localized currencies based on their regions. Implement a system to analyze and highlight special deals, discounts, or promotions from various retailers. |
|
| Integration with Shopping Lists | Enable users to create, manage, and organize shopping lists within the application. Implement notifications for significant price changes. |
|
| Price History Visualization | Include a graphical representation of the price history for products, allowing users to visually track trends and fluctuations. |
|
| Drop Probability Analysis | Integrate a feature that estimates the probability of a price drop in the near future based on current price and historical data. |
|
| Price Change Alerts | Implement a feature for users to set price change alerts. Users receive notifications when the price drops below a predefined threshold. |
|
- Consider data minimization by saving only the previous data and updating when necessary.
- Notification via Whatsapp
- Best Deals Section
- A NPM Package (ShopScout)
- Discord Bot
- Telegram Bot
Save new data only if something has changed, avoiding unnecessary hourly data storage.
Mathematical Estimation:
- In 1 year: n(products) * 24 * 365
- For example, with n = 100: 876k data points
- For n = 400: 3.5 Million data points
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For any questions, suggestions, or issues, please contact:
- Salma Shaik
- GitHub: IdealisticINTJ
- Email: salmasaa02@gmail.com
This project is licensed under the GNU General Public License v3.0.
if (youEnjoyed) {
starThisRepository();
}