A Python application that tracks NVIDIA RTX 5090 GPU availability and prices across multiple retailers.
- Monitors RTX 5090 stock at Best Buy, Newegg, Amazon, and Micro Center
- Alerts via email when products are in stock and under $2,500
- Web dashboard to view current stock and price information
- Price tracking and visualization
- Stock history tracking
- Price prediction using machine learning
- Data export functionality
- Clone the repository
- Create a virtual environment:
python -m venv venv - Activate the virtual environment:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
- Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand update the configuration - Initialize the database:
python reset_database.py
python run_all.pyThis will start both the monitoring service and the web dashboard.
python run_all.py --monitorpython run_all.py --dashboardpython run_all.py --exportpython run_all.py --ml-modelsEdit the .env file to configure:
- Database connection
- Email notifications
- Alert thresholds
- Monitoring intervals
To prevent local storage of chart images, you can use Amazon S3:
- Create an S3 bucket in your AWS account
- Add the following environment variables to your
.envfile:
S3_BUCKET_NAME=your-bucket-name
AWS_REGION=your-region (default: us-east-1)
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
When S3 is properly configured, all charts and images will be stored in your S3 bucket instead of locally in the static/img directory. The application also includes an automatic cleanup service that removes old chart files periodically (older than 7 days).
The application is configured for deployment on Heroku. To deploy:
- Create a Heroku app
- Add PostgreSQL addon
- Set environment variables
- Deploy the code
This project is licensed under the MIT License - see the LICENSE file for details.