amazonpricetracker / README.md
shoaibrza9999's picture
Update README.md
0a025b9 verified
|
Raw
History Blame Contribute Delete
2.29 kB
---
title: 'Amazon '
sdk: docker
emoji: ๐Ÿ“Š
colorFrom: green
colorTo: indigo
---
# Amazon India Price Tracker
A multi-user Amazon price tracker web application designed to be deployed on a Linux VPS.
## Features
- Track Amazon India product prices in the background.
- Set target price thresholds.
- View price history graphs.
- Receive alerts via Email when the price drops below your target.
## Tech Stack
- **Backend:** Python 3, Flask, Flask-SQLAlchemy, APScheduler
- **Frontend:** Vanilla HTML, CSS, JavaScript
- **Database:** PostgreSQL (Designed for Neon.tech)
- **Scraping:** ScraperAPI using `requests` and `BeautifulSoup`
- **Visualization:** Chart.js
## Local Setup
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Run the application:
```bash
python app.py
```
The app uses SQLite by default if `DATABASE_URL` is not provided.
## Deploying to Hugging Face Docker Space
1. Create a new Space on Hugging Face.
2. Select **Docker** as the Space SDK and choose the Blank template.
3. Upload all files from this directory to your Space repository.
4. Go to the **Settings** tab of your Space and add the following **Variables and secrets**:
- `DATABASE_URL`: Your PostgreSQL connection string (e.g., from Neon.tech). Format: `postgresql://user:password@host/dbname`
- `SMTP_SERVER`: The SMTP server for sending emails (e.g., `smtp.gmail.com`).
- `SMTP_PORT`: The SMTP port (usually `587`).
- `SMTP_USER`: The email address used to send alerts.
- `SMTP_PASSWORD`: The app password or password for the SMTP user.
- `TELEGRAM_BOT_TOKEN`: Your Telegram Bot token obtained from BotFather.
5. The Dockerfile is pre-configured to install dependencies and expose port `7860`. The Flask app will run on `host='0.0.0.0'` and `port=7860`, which is required by Hugging Face Spaces.
## Usage
1. **Register**: Sign up with a username, password, email, and your ScraperAPI key. Optionally, provide a Telegram Chat ID.
2. **Add Item**: Paste an Amazon India product URL and set your target price.
3. **Dashboard**: View your tracked items, current prices, and click "View Graph" to see price history.
4. **Alerts**: The background scheduler runs every hour, checks prices, and sends alerts if the price drops below your target.