- 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
1.6 KiB
1.6 KiB
TODO
App
- Display
last_sale_dateattribute fromowners.rdssomewhere 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)
- Add cron job to run
update_owners.Rweekly 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
- Create Dockerfile, docker-compose.yml, .gitea/workflows/deploy.yaml
- Push to Gitea — act_runner deploys on push to main
- 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