How buddykang/fudan_dorm_monitor works
This is a read-only dorm-room availability monitor. Its principal workflow is: load settings, use a persistent browser session to access the housing portal, discover building pages, classify each page as sold out, available, or unknown, then record state and alert when availability is detected. The README also documents evidence capture and optional notification channels. Most runtime behavior resides in monitor.py; the excerpts do not show every orchestration detail, so uncertain internal calls are omitted.
Main entry points: monitor.py Dorm monitor
Components 16
Runtime
- CLI entry
monitor.py - Settings
monitor.py - Dorm monitor
monitor.py - Persistent browser
monitor.py - CAPTCHA OCR
monitor.py
Availability checks
- Building discovery
monitor.py - Page status check
monitor.py
State and alerts
- Monitor state
- Page evidence
- Logs
- Notifier
monitor.py
Other components
- Operator
- Housing portal
- Desktop notifications
- Telegram
- Webhook endpoint
Connections 18
- Operator → CLI entry: runs
- CLI entry → Settings: loads
- CLI entry → Dorm monitor: starts
- Dorm monitor → Monitor state: loads and saves
- Dorm monitor → Persistent browser: checks periodically
- Persistent browser → Housing portal: accesses pages
- Dorm monitor → CAPTCHA OCR: requests recognition
- Persistent browser → CAPTCHA OCR: supplies image
- Dorm monitor → Building discovery: discovers
- Persistent browser → Building discovery: provides page
- Dorm monitor → Page status check: checks buildings
- Persistent browser → Page status check: provides content
- Dorm monitor → Page evidence: saves suspected availability
- Dorm monitor → Notifier: requests alerts
- Notifier → Logs: writes
- Notifier → Desktop notifications: notifies
- Notifier → Telegram: sends message
- Notifier → Webhook endpoint: posts alert