A web application that tracks product prices and availability from various e-commerce sites including Amazon, Walmart, Newegg, Best Buy, Microcenter, and B&H Photo.
- Track product prices from multiple retailers
- Get notified when prices drop or products become available
- Set price drop targets
- View price history
- Configure check intervals
- Timezone support
The application is containerized using Docker for easy deployment and management.
You can customize the application by setting the following environment variables:
SECRET_KEY: Secret key for the Flask application (default:your-secret-key-here)DEBUG: Set to1to enable debug mode (default:0)TWOCAPTCHA_API_KEY: API key for 2captcha service (required for solving CAPTCHAs on Newegg)CHECK_INTERVAL_MINUTES: How often to check products in minutes (default:15)CHECK_INTERVAL_SECONDS: Additional seconds for check interval (default:0)DEFAULT_TIMEZONE: Default timezone for displaying times (default:UTC)
-
Clone the repository:
git clone <repository-url> cd product-tracker -
Build and start the Docker container:
docker-compose up -d -
Access the application:
http://localhost:5000
docker-compose down
docker-compose logs -f
The application data is stored in Docker volumes to ensure persistence across container restarts:
app_data: Contains the SQLite databaseapp_logs: Contains the application logs
To update the application:
-
Pull the latest changes:
git pull -
Rebuild and restart the container:
docker-compose up -d --build
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables or create a
.envfile. -
Initialize the database:
python create_db.py -
Run the application:
python run.py