"Item Stock Tracker" is a program designed to alert users when specific items from an online retailer are back in stock.
ItemStockTracker.mp4
Make sure you have installed and followed all the following prerequisites on your development machine:
- Python-- Download & Install Python 3.9
- Email-- Fill out the email address(gmail_user) and password(gmail_password) in SendEmail.py as the sender email
- pillow-- Download & Install Pillow for python with version>=8.3.0
- requests-- Download & Install Requests for python with version~=2.26.0
- beautifulsoup4-- Download & Install Beautifulsoup4 for python with version~=4.10.0
- lxml-- Download & Install lxml for Python with version~=4.6.3
- setuptools-- Download & Install setuptools for Python with version~=57.0.0
- sphinx-- Download & Install setuptools for Python with sphinx
- sphinx-rtd-theme-- Download & Install setuptools for Python with sphinx-rtd-theme
Item Stock Tracker’s documentation
-
Download the latest release from the repository based on your operating system.
-
Extract the zip file downloaded.
-
Run ItemStockTracker.exe from the extracted folder to launch the application.
To build the executable, you need to have pyinstaller installed which can be done using pip install pyinstaller.
Navigate to ItemStockTracker folder and run the below commands based on the operating system you are running.
For Windows
pyinstaller --distpath ./build/dist --workpath ./build/build --noconfirm ./ItemStockTracker.spec
For Mac
pyinstaller --distpath ./build/dist --workpath ./build/build --noconfirm ./ItemStockTrackerMac.spec
The executable will be found in the folder
ItemStockTracker/build/dist/ItemStockTracker/ItemStockTracker.exe for windows
ItemStockTracker/build/dist/ItemStockTrackerMac/ItemStockTrackerMac.exe for windows
By default, the GUI will already contain some data, which is loaded from data/tracker.txt. To add your own items, click the plus button in the upper right. You will be prompted to enter a name for the item you are tracking, along with a URL for a specific product page. Currently, amazon.com, bestbuy.com and walmart.com product pages are supported.
You can also edit, add, or delete items by right-clicking on a selected item,
When an item is restocked, a popup will appear. Aditionally, a system notification will also be generated
In the "Settings" tab you have the following functionalities:
- Adjust the refresh interval - How often you want to poll the website to check the status of your items
- Configure your email alert settings - Want an email alert ? Just tick the checkbox and enter your email address
- Minimize to system tray - Don't want to see the window in the taskbar ? Just minimize it to system tray. You will see a plus sign:
- Launch tracker at startup - If you want to start checking the stock status of your items automatically on system startup
Lastly, all the info about our application can be found out in newly added INFO tab.
- Extended functionality of the application by supporting new websites that can be tracked like walmart.
- Since cost is also a major factor for making the purchase decision we added a column to show the current price of the item without constantly checking the websites saving lot of time when comparing between different websites.
- Enhanced deployment by creating an executable file that can be installed on both Windows and MacOS
- In the prior implementation the availability notification was a pop-up which might be missed if the application is minimized. We have integrated the notifications to the system for both Windows and MacOS
- Implemented auto launch during system startup, limited to Windows OS.
- We have added a functionality to minimize the application to system tray.
- Added Black and github actions to automatically check for formatting errors and run test cases for each commit.
- Multithreaded scrapers to run parallely using thread pools to fetch stock availability and prices.
- Improved documentation in code, also providing clear instructions on setup and getting started.
- Collect the in-stock drop data and predict the next drop time.
- More supported retailers.
- Other enhancements
If you encountered any questions and seeking for helps, please reach out to us at
[email protected]
Alternatively, you can contact any of the team members listed below.
Arjun Madhusudan
Ramya Sai Mullapudi
Lakshmi Swetha Gavini
Rohan Prabhune
Saurabh Krishna

