Val Town backend for scraping, storing, and serving Chicago free museum day data.
| File | Type | Description |
|---|---|---|
db.ts | Script | Database functions (SQLite) |
scrapeChooseChicago.ts | Script | Choose Chicago HTML scraper |
utils.ts | Script | Date normalization utilities |
scraper.cron.ts | Cron | Monthly scraper orchestrator |
bot.cron.ts | Cron | Weekly Bluesky poster (Mondays 8am CT) |
api.http.ts | HTTP | Public JSON API |
BLUESKY_HANDLE, BLUESKY_PASSWORDscraper.cron.ts manually to populate initial datascraper.cron.ts monthly (first Monday)bot.cron.ts weekly (Mondays 8am CT → 0 14 * * 1 UTC in winter, 0 13 * * 1 in summer)GET / - API documentationGET /free-days?start=YYYY-MM-DD&end=YYYY-MM-DD - Free days in date rangeGET /upcoming - Next 7 daysGET /today - Today's free daysGET /institutions - List all museumsGET /health - Health checkscraped_free_days - Auto-populated by scrapersfree_days_overrides - Manual corrections (win on conflicts)