# Active Context ## Current Status (May 27, 2026) ✅ **v2 Fully Deployed** — MongoDB backend live on production The site completed a full backend migration from a hardcoded static Express app (v1) to a MongoDB-backed API with a board management dashboard (v2). Frontend is visually identical to v1 — no public-facing changes. ## What Changed in v2 - All previously hardcoded data (board members, events, gallery, minutes, sponsors) now lives in MongoDB and is editable via the `/manage` dashboard - Board members can log in at `/manage` using their `@deafmissoula.org` email address - First login forces a password change; forgot-password flow sends reset link via email - Dashboard supports drag-and-drop reordering for Minutes and Board Members tabs - Image/file uploads go to a persistent Docker volume (`mcdi-uploads-data`) - MongoDB runs in a separate container (`mcdi-mongo-data` volume) ## Board Member Accounts All four board members are seeded with accounts. Passwords are set via the `/manage` dashboard or the welcome email flow. On first login each member is forced to set their own password. | Name | Email | Position | |------|-------|----------| | Rita Brandborg | rita.brandborg@deafmissoula.org | President | | Skyla Wilson | skyla.wilson@deafmissoula.org | Vice President | | Tessa Williams | tessa.williams@deafmissoula.org | Secretary | | Aubz M | aubz.m@deafmissoula.org | Treasurer | Admin fallback: `admin@deafmissoula.org` (password in `stack.env` → `ADMIN_PASSWORD`) ## Current Deployment - **Production server:** `10.4.0.205` (WireGuard VPN) - **Site path:** `/home/chaulmark/websites/deafmissoula.org/` - **Containers:** `deafmissoulaorg-app-1` (port 801) + `deafmissoulaorg-mongodb-1` - **Git branch:** `main` (v2), `v1` tag = last hardcoded version ## Next Steps - [ ] Onboard remaining board members (Skyla, Tessa, Aubz) once Rita demo is confirmed successful - [ ] Change default `stack.env` passwords from placeholders to strong values - [ ] Update events in dashboard when new meetings are scheduled (no more code changes needed for content updates) - [ ] Minutes PDFs: new PDFs go in `client/public/minutes/` (git commit + deploy) OR upload via dashboard (no deploy needed) ## Deployment Command ```bash ssh chaulmark@10.4.0.205 cd ~/websites/deafmissoula.org git pull origin main docker compose down && docker compose up -d --build ```