2026-08-15 13:00:01 -07:00
# Plan
2026-08-15 22:10:40 -07:00
What remains to build. Current behavior is documented in `docs/dev.md` , `docs/data.md` , `docs/directory.md` , `docs/design.md` , and `docs/pwa.md` .
2026-08-15 13:00:01 -07:00
## Directory app
2026-08-15 22:10:40 -07:00
- Remaining sections: My Family, Map, Email List.
- Mobile chrome: brand-teal top bar and bottom tab navigation on narrow screens (see `docs/directory.md` ); today only the desktop chrome is faithful.
- Filter button behavior — currently visual only; the original filters by grade and classroom.
- Favorites: the heart toggle and bookmarks, feeding the email list's bookmarks tab.
- Installable-app plumbing: manifest, icons, and meta tags per `docs/pwa.md` .
- Self-service flows: photo and pronunciation upload, address update, opt-out.
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
## Hosting and deployment
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
- Cloud Run service in the school's project, minimum one instance (media is held in memory; startup is too slow for scale-to-zero).
- GitHub as source of truth with automatic build and deploy to Cloud Run on pushes to main.
- Docker build producing the static binary in a minimal base image containing only tzinfo and CA certificates.
- Serving domain and Cloud project layout are undecided.
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
## Data
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
- Sample data mode: generated, non-production data so contributors can develop and test with no credentials and no real community data.
- Clean sheet layout: one spreadsheet per app, one tab per entity type, first row as schema — replacing the inherited spreadsheet the loader currently reads.
- Year rollover: flipping the directory to the next school year using the next-grade mapping.
- Veracross integration as a second data-source implementation replacing Sheets when an API becomes available.
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
## Later
2026-08-15 13:00:01 -07:00
2026-08-15 22:10:40 -07:00
- Subsequent apps hosted in the same binary.
- TypeScript adoption if client code grows.