{"id":29014179,"url":"https://github.com/vishwagauravin/automatic-stock-tracker","last_synced_at":"2025-06-25T20:12:58.817Z","repository":{"id":273394803,"uuid":"919581279","full_name":"VishwaGauravIn/automatic-stock-tracker","owner":"VishwaGauravIn","description":"It tracks a screener.in screen and tracks all the stock changes happening, based on that it sends message to your telegram id everyday.","archived":false,"fork":false,"pushed_at":"2025-06-21T04:00:31.000Z","size":124,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T05:19:39.667Z","etag":null,"topics":["api-trading","screener","screeners","script","stock","stock-analysis","stock-market","stock-trading"],"latest_commit_sha":null,"homepage":"https://itsvg.in","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VishwaGauravIn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-20T16:49:23.000Z","updated_at":"2025-06-21T04:00:34.000Z","dependencies_parsed_at":"2025-01-20T17:43:11.648Z","dependency_job_id":"d4a3a788-aaf1-4ff6-a95d-f60ddbc327c1","html_url":"https://github.com/VishwaGauravIn/automatic-stock-tracker","commit_stats":null,"previous_names":["vishwagauravin/stock-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VishwaGauravIn/automatic-stock-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VishwaGauravIn%2Fautomatic-stock-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VishwaGauravIn%2Fautomatic-stock-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VishwaGauravIn%2Fautomatic-stock-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VishwaGauravIn%2Fautomatic-stock-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VishwaGauravIn","download_url":"https://codeload.github.com/VishwaGauravIn/automatic-stock-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VishwaGauravIn%2Fautomatic-stock-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261945412,"owners_count":23234245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-trading","screener","screeners","script","stock","stock-analysis","stock-market","stock-trading"],"created_at":"2025-06-25T20:12:56.564Z","updated_at":"2025-06-25T20:12:58.798Z","avatar_url":"https://github.com/VishwaGauravIn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatic Stock Tracker and Notifier\n\nThis project fetches stock data from the my **SPECIAL** screen (list of stocks) on Screener.in (you can replace it with anything), and sends you a telegram notification daily based on which stock was added to the list or removed.\n\n# How to use? \n\n#### Just get yourself added in [Telegram Channel](https://t.me/YourDailyStockTracker) (https://t.me/YourDailyStockTracker)\nYou will receive notification everyday @9:16AM (only if there is any change in the list)\n\n\u003c!-- - Step 1: Message our [Telegram Bot](https://t.me/YourDailyStockTrackerBot) (https://t.me/YourDailyStockTrackerBot) `/start`\n\n![image](https://github.com/user-attachments/assets/68c00f39-6836-4d85-b844-0f560d274a40)\n\n- Step 2: add your telegram username in `users.js` file in this repository and raise a Pull Request \n\n\u003e [!IMPORTANT]  \n\u003e If you don't know how to do this all, just dm me on Twitter/X : [@VishwaGauravIn](https://x.com/vishwagauravin) or [LinkedIn](https://www.linkedin.com/in/vishwagauravin/) or Telegram @VishwaGaurav\n--\u003e\n\n## Features\n\n- **Fetches stock data**: Retrieves stock names and prices from the provided URL.\n- **Calculates differences**: Compares current data with previously fetched data and calculates additions and deletions.\n- **Archiving**: Saves the differences to an archive folder with a timestamp if there are any changes.\n- **Telegram Notifications**: Sends a Telegram message about added and removed stocks.\n- **GitHub Actions**: Automatically runs the script daily at 9:16 AM IST via GitHub Actions.\n\n\u0026nbsp;\n-----\n\n\u0026nbsp;\n\n# For Developers \n## Setup\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/VishwaGauravIn/automatic-stock-tracker.git\ncd automatic-stock-tracker\n```\n### 2. Set Up Environment Variables\nFor the Telegram bot integration and any other sensitive data, you will need to set up the following environment variables:\n\n- `BOT_TOKEN`: Your Telegram bot token.\n- `SCREEN_URL`: The URL to your screener.in screen\n\nYou can set these up in GitHub Actions as Secrets:\n\n1. Go to your repository settings on GitHub.\n2. Under Secrets and Variables \u003e Actions, click New repository secret.\n3. Add the following secrets:\n- `BOT_TOKEN`\n- `SCREEN_URL`\n\n### 3. Ensure that you have sent a /start message to the bot\n\n### 4. Configure GitHub Actions Workflow\nThis project uses GitHub Actions to automate daily execution of the script. The workflow will run the script every day at 9:16 AM IST (3:46 AM UTC).\n\n#### Workflow Configuration\nThe workflow file `.github/workflows/daily_stock_update.yml`\n\n### 5. File Handling in the Script\nThe following files are handled in the script:\n\n- `latest.json`: Contains the most recent stock data.\n- `diff.json`: Contains the differences (added and removed stocks) from the last fetched data.\n- `archive/`: Folder containing the archived diff.json files with timestamps.\n\nThe script will:\n\n- Fetch stock data from the provided URL.\n- Compare it with `latest.json` to find the differences (added/removed stocks).\n- Save the `latest.json` and `diff.json` files.\n- Archive the `diff.json` file if there are any additions or deletions in the data.\n- Send a Telegram notification with the details of added and removed stocks.\n\n### Directory Structure\n\n```bash\nstock-fetcher/\n├── .github/\n│   └── workflows/\n│       └── daily_stock_update.yml       # GitHub Actions workflow\n├── archive/                             # Contains archived diff files\n├── daily_stock_update.js               # Node.js script to fetch and process stock data\n├── latest.json                          # Most recent fetched stock data\n├── diff.json                            # Difference data (added/removed stocks)\n├── users.js                            # List of the users subscribed to the notification\n└── README.md                            # Project documentation\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwagauravin%2Fautomatic-stock-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvishwagauravin%2Fautomatic-stock-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwagauravin%2Fautomatic-stock-tracker/lists"}