Commit Graph
11 Commits
Author SHA1 Message Date
Mike Wichers be2d81b3ab Lead pipeline: local SQLite store as source of truth
Form submissions now land in /data/scout73.db before anything leaves the
box. The Google Sheet and the ntfy push become mirrors whose per-record
outcome is recorded, so a failed sheet write is replayable instead of
surviving only as a push telling you to retype it.

The table is a generic record store keyed by 'kind', with workflow columns
and an audit trail, so RSVPs and other forms can land in the same place
later without a migration. Admin panel talks to /api/admin over HTTP and
never opens the DB file.

- app/store.py     schema, writes, reads, one-time leads.jsonl backfill
- app/admin_api.py token-gated API; fails closed when ADMIN_TOKEN is unset
- app/app.py       three hunks: imports, boot init, join_post
- compose          ADMIN_TOKEN passed through from the Portainer stack env
2026-08-26 19:38:33 -04:00
claude 5331e38d62 Calendar: replace placeholder troop events with the Band feed
The five troop entries were placeholders written to get the site up. Troop
73's real calendar lives in BAND, so those are replaced by what BAND
actually holds:

  - First Court of Honor, Klondike Winter Derby, Troop Spring Campout,
    Founder's Day, River Canoe Trip
  + Canoe Day (9/1), Gettysburg Trip (11/21), Lock In (12/12-13),
    Cabin Camping at French Creek (1/16-17)

Excluded from BAND: six events already past (the /calendar page has no
date filter), the weekly Tuesday meeting series (runs to May 2027, and
the schema has no recurrence field - it is covered in page copy), and
the 10/17 Cub Scout Campout, which is the same event as the existing
Fall Campout entry and that one carries a start time.

Pack and both entries are untouched; BAND has no pack events.
2026-08-24 20:05:00 -04:00
claude 18b0a85aca Troop meetings move to 7:30 PM
Pack runs 6:00-7:15, so the troop follows at 7:30 with a buffer. Updates
all eight troop time references across the footer, /troop and /calendar.
The two 7:00 AM references (Green Lane farmers market chocolate booth)
are deliberately unchanged.

Planned timing, not yet established practice.
2026-08-24 19:56:48 -04:00
claude 08bc249abb footer: Facebook badge icons + short labels; head: Open Graph tags and meta description 2026-08-24 19:14:45 -04:00
claude e319b24585 footer: Facebook links to new GreenLane usernames 2026-08-24 19:02:11 -04:00
claude dd04d3be72 footer: Follow column with Pack/Troop 73 Facebook links 2026-08-24 18:54:36 -04:00
claude 2eec0a12ae Copy pass: join headline, who-can-join FAQ, Eagle card, Farmers Market naming; ntfy title to 'New 73 lead' 2026-08-24 18:44:35 -04:00
claude 5e3eeb9243 self-contained lead pipeline (direct sheet+ntfy, +Comments col); fix joinbtn specificity + facts flex shrink-wrap 2026-08-24 13:53:57 -04:00
claude 27fcdd3d2b fix: f-string brace crash from inline source JS 2026-08-24 13:36:34 -04:00
claude f3c483a58e join form mirrors scouting73-form (children textarea, interested_in, source w/ schools) + forwards to shared sheet pipeline; firefox joinbtn fix 2026-08-24 13:34:13 -04:00
claude 83beebf35c scout-website: greenlanescouts73.org initial deploy (from scoutpoc redesign) 2026-08-24 13:15:13 -04:00