Files
stAndrews/TODO.md
Rob Wiederstein bcbe2b78a3 Add weekly cron for owners refresh; fix download timeout
- options(timeout = 300) added to update_owners.R — 87.5 MB SCPA
  file exceeds the 60s default
- TODO updated: cron job tested end-to-end 2026-03-09
2026-03-09 12:40:41 -04:00

41 lines
1.6 KiB
Markdown

# TODO
## App
- [ ] Display `last_sale_date` attribute from `owners.rds` somewhere in the UI
so users know how current the ownership data is
## Data
- [ ] Verify SCPA Public.xlsx column structure is stable across downloads
- [ ] Delete app from shinyapps.io (account: rob-wiederstein, appId: 14173710)
- [x] Add cron job to run `update_owners.R` weekly inside the rstudio container:
Runs every Sunday at 11pm via crontab; restarts standrews_shiny after; logs to ~/standrews_update.log
Tested end-to-end 2026-03-09 — 388 owners written, options(timeout=300) required for 87.5 MB download
## Features
- [ ] Add RentCast active listings tab
- Pull active listings via RentCast API (see veniceProp/sarco for prior work)
- Spatially filter to St. Andrews subdivision boundaries (`data/plats/plats.shp`)
- Display on map + table (similar to Owners tab)
- Store API key as environment variable, not in code
- Consider caching results (API has rate limits)
## Performance
- [ ] Optimize CI build time: create a pre-built base image with R packages
already installed so renv restore is skipped on redeploy. Cold builds
currently take ~10 minutes due to geo stack (sf, gdal) compilation.
## Deployment
- [x] Create Dockerfile, docker-compose.yml, .gitea/workflows/deploy.yaml
- [x] Push to Gitea — act_runner deploys on push to main
- [x] App live at apps.robwiederstein.org/stAndrews/
Notes:
- Gateway route is hardcoded in ~/docker/gateway/Caddyfile (import pattern failed)
- Volume mounts: only ./data and ./www — app code baked into image to avoid renv conflict
- act_runner registered at user level, not repo level