ShopSavvy is a versatile web application designed to help you track product prices and receive timely alerts when there are price drops or stock availability changes.
- Price Tracking: Keep an eye on the price history of your favorite products.
- Stock Alerts: Receive notifications when a product comes back in stock.
- Price Drop Alerts: Get alerted when a product's price drops below your specified threshold.
- Email Notifications: Stay updated through email notifications.
- Data Analysis: Analyze price trends and historical data for smarter shopping decisions.
- Web Scraping: Real-time data scraping from product websites.
- User-Friendly Interface: An easy-to-navigate web application for all your tracking needs.
-
Clone the Repository:
git clone https://github.com/mrExplorist/ShopSavvy.git cd ShopSavvy
-
Install Dependencies:
npm install
-
Set Up Environment Variables:
Create a .env file and provide the necessary environment variables, including your database connection and email configuration.
-
Run the Application:
npm run dev
ShopSavvy is built using the following technologies and tools:
- Frontend: React.js, Next.js 13, Tailwind CSS, Chart.js, Axios and more. (See [package.json])
- Backend: Node.js, Express.js, MongoDB, Mongoose, Nodemailer, Axios and more. (See [package.json])
- Database: MongoDB Atlas
- Email Service: Nodemailer
- Web Scraping: Axios, Cheerio, Puppeteer, BrightData
- Deployment and Hosting: Vercel (Frontend)
- Version Control: Git and GitHub
As many features can be added and developed and are being in development, We welcome contributions from the open-source community. Whether you're a developer, designer, or tester, your input can help improve ShopSavvy. Here's how you can contribute:
-
Suggest Features: If you have any ideas for new features, please let us know by opening an issue on GitHub.
-
Fix Bugs: If you want to contribute to the codebase, please open a pull request on GitHub.
-
Improve UI/UX: If you have any ideas for improving the UI/UX, please open a pull request on GitHub.
-
Add New Features: If you have any ideas for new features, please open a pull request on GitHub.
- Fork the repository.
- Clone the repository to your local machine.
- Create a new branch for your changes. Use
git checkout -b <branch-name>
. For example,git checkout -b feature/new-feature
. - Make the necessary changes and commit those changes. Use
git add .
to add all your changes andgit commit -m "<commit-message>"
to commit those changes. - Push the changes to your forked repository using
git push origin <branch-name>
. - Open a pull request on GitHub.
- We will review the changes and merge them into the main branch of the repository.