How wtfloris/hestia works
Hestia collects rental listings from real-estate sites, parses them into homes, stores them, and notifies subscribers through Telegram and Apple push. Users can also manage filters and view listings through the website. The graph includes documented parser capabilities and the visible web authentication, dashboard, and device-registration surface. Some web routes and scraper internals were only partially excerpted, so unverified connections are omitted or dashed.
Main entry points: scraper.py Scraper runner · bot.py Telegram bot · app.py Web application · db.py Database access
Components 17
Listing collection
- Scraper runner
hestia/scraper.py - Funda fetcher
hestia/hestia_utils/funda_scraper.py - Agency parsers
hestia/hestia_utils/parser.py
Subscriber delivery
- Telegram bot
hestia/bot.py - Localized messages
hestia/hestia_utils/strings.py - Bot utilities
hestia/hestia_utils/meta.py - APNs client
hestia/hestia_utils/apns.py
Web experience
- Web application
web/hestia_web/app.py - Dashboard interface
web/static/dashboard.js - Page templates
web/templates
Shared state
- Database access
hestia/hestia_utils/db.py - PostgreSQL
Other components
- Renter
- Property sites
- Telegram
- Apple APNs
- Website user
Connections 21
- Renter → Telegram bot: uses bot
README.md - Telegram bot → Database access: reads and updates
hestia/bot.py - Telegram bot → Localized messages: gets messages
hestia/bot.py - Localized messages → Database access: gets language
hestia/hestia_utils/strings.py - Localized messages → Bot utilities: uses emoji
hestia/hestia_utils/strings.py - Telegram bot → Bot utilities: uses bot
hestia/bot.py - Telegram bot → Telegram: sends messages
hestia/bot.py - Scraper runner → Property sites: fetches listings
README.md - Scraper runner → Funda fetcher: uses fetcher
hestia/scraper.py - Funda fetcher → Agency parsers: parses response
hestia/hestia_utils/funda_scraper.py - Scraper runner → Agency parsers: parses targets
hestia/scraper.py - Scraper runner → Database access: stores homes
hestia/scraper.py - Scraper runner → Bot utilities: uses bot
hestia/scraper.py - Scraper runner → Telegram: broadcasts listings
hestia/scraper.py - Scraper runner → APNs client: sends push
hestia/scraper.py - APNs client → Apple APNs: posts notifications
hestia/hestia_utils/apns.py - Website user → Web application: manages listings
README.md - Web application → Page templates: renders pages
- Dashboard interface → Web application: requests updates
- Web application → PostgreSQL: queries and updates
- Database access → PostgreSQL: queries and updates
hestia/hestia_utils/db.py