How rishi-solanki07/tender-flow works
TenderFlow automates daily railway tender monitoring: a scheduled run opens IREPS, applies the date and search criteria, and scrapes tender results. A human must handle the OTP-related step; the README also describes CAPTCHA handling. The results are parsed and processed into a formatted daily Excel report, then emailed to configured recipients. The README documents these capabilities, but the notebook source was not available to inspect, so component links reflect documented workflow only; internal call ownership cannot be verified.
Main entry points: python_code.ipynb Selenium browser
Components 14
Tender collection
- Daily automation
python_code.ipynb - Selenium browser
python_code.ipynb - OTP and CAPTCHA
python_code.ipynb - HTML parsing
python_code.ipynb - Tender data
python_code.ipynb - Date selection
python_code.ipynb
Report generation
- Excel formatting
python_code.ipynb - Daily Excel report
python_code.ipynb
Report delivery
- Email configuration
python_code.ipynb - Yagmail delivery
python_code.ipynb
Other components
- Task Scheduler
- Human operator
- IREPS website
- Report recipients
Connections 16
- Task Scheduler → Daily automation: runs daily
- Daily automation → Selenium browser: starts browser
- Selenium browser → IREPS website: opens and searches
- Daily automation → Date selection: selects yesterday
- Selenium browser → OTP and CAPTCHA: handles challenge
- Human operator → OTP and CAPTCHA: provides intervention
- Selenium browser → IREPS website: submits search
- IREPS website → Selenium browser: returns results
- Selenium browser → HTML parsing: provides page HTML
- HTML parsing → Tender data: extracts fields
- Tender data → Excel formatting: formats results
- Excel formatting → Daily Excel report: saves report
- Email configuration → Yagmail delivery: configures sender
- Daily automation → Yagmail delivery: sends report
- Yagmail delivery → Daily Excel report: attaches report
- Yagmail delivery → Report recipients: emails report