From 0af64f586226e6781a9df14ab7a5a19ac6c988f6 Mon Sep 17 00:00:00 2001 From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com> Date: Tue, 23 Dec 2025 16:01:03 -0800 Subject: [PATCH] docs: Update roadmap with session completions --- docs/ROADMAP.md | 148 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 101 insertions(+), 47 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 7a6a5ad..b1e188e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -6,24 +6,15 @@ ## Current Status Summary -### ✅ Analytics +### ✅ Email Service -**Status: NOT CONFIGURED** +**Status: MAILGUN CONFIGURED** -- No Google Analytics, Plausible, or similar tracking implemented -- No gtag or measurement ID found in codebase -- **Action needed:** Choose analytics provider (recommend Plausible for privacy-first) - -### ✅ AWS SES Email - -**Status: CONFIGURED & OPERATIONAL** - -- IAM user: `AKIAVFNHG5QATGYJHVCZ` (scoped SES permissions) -- Region: `us-east-1` +- Mailgun API as primary provider +- AWS SES as fallback - From address: `noreply@elmeg.xyz` - Frontend URL: `https://elmeg.xyz` -- Client initialized: ✅ Yes -- **Note:** Domain verification status needs manual check in AWS console +- **Pending:** DNS records for `mail.elmeg.xyz` subdomain ### Templates Available @@ -31,27 +22,41 @@ |----------|--------| | Email Verification | ✅ Ready | | Password Reset | ✅ Ready | -| Security Alert | ✅ Ready | --- -## Settings Page Roadmap +## Recent Completions (Dec 23, 2023) -### Phase 1: Quick Wins (Current Sprint) +| Feature | Status | +|---------|--------| +| Privacy Settings (3 toggles) | ✅ Complete | +| Sticky Settings Sidebar | ✅ Complete | +| Bug Tracker MVP | ✅ Deployed | +| Auth Console Error Fix | ✅ Fixed | +| Videos Page Link Fix | ✅ Fixed | +| Hide Test Users | ✅ Implemented | +| Mailgun Integration | ✅ Code Ready | +| Bandcamp/Nugs Links | ✅ Complete | +| Enhanced Footer | ✅ Deployed | -| Feature | Backend Change | Frontend Change | Effort | -|---------|----------------|-----------------|--------| -| ~~Heady Badges toggle~~ | Add to UserPreferences | Toggle in Display | ⏭️ Skip (UI only, no effect) | -| Privacy: Public Profile | Add `profile_public` to User | Toggle in Privacy | 🟢 Small | -| Privacy: Show Attendance | Add `show_attendance_public` | Toggle in Privacy | 🟢 Small | -| Privacy: Leaderboards | Add `appear_in_leaderboards` | Toggle in Privacy | 🟢 Small | -| Theme Persistence | Store in localStorage/UserPrefs | Already works client-side | 🟢 Small | +--- + +## Settings Page Status + +### Phase 1: Quick Wins ✅ COMPLETE + +| Feature | Status | +|---------|--------| +| Privacy: Public Profile | ✅ Done | +| Privacy: Show Attendance | ✅ Done | +| Privacy: Leaderboards | ✅ Done | +| Theme Persistence | ✅ Works client-side | ### Phase 2: Notifications (Deferred) | Feature | Dependency | Status | |---------|------------|--------| -| Comment Replies | Notification system exists | Ready to implement | +| Comment Replies | Notification system | Ready to implement | | New Show Added | Import trigger hook | Needs backend work | | Chase Song Played | Post-import check | Needs backend work | | Weekly Digest | Email templates + cron | Future | @@ -66,6 +71,43 @@ --- +## External Links System + +### ✅ Phase 1: Database + Admin - COMPLETE + +- `bandcamp_link`, `nugs_link` on Show model +- `bandcamp_link`, `nugs_link` on Performance model +- Admin PATCH endpoints for both +- Bulk import endpoint: `POST /admin/import/external-links` + +### ✅ Phase 2: Frontend Display - COMPLETE + +- Show-level links (buttons next to tour info) +- Performance-level links (icons in setlist) + +### Phase 3: Import Tools (Future) + +- [ ] CSV import UI +- [ ] Admin bulk edit + +--- + +## Bug Tracker + +**Status: ✅ DEPLOYED** + +- **URL:** `/bugs` +- **Features:** + - Bug/Feature request submission + - My Tickets view + - Known Issues (public) + - Ticket detail with comments + - Upvoting + - Admin status/visibility control +- **Database:** `ticket`, `ticketcomment` tables created + +--- + ## Avatar System Roadmap ### ✅ Phase 1: Jewel Tones (Complete) @@ -89,46 +131,58 @@ --- -## Blockers & Clarifications Needed +## Pending Tasks + +### High Priority + +- [ ] Configure Mailgun DNS records +- [ ] Add Mailgun env vars to production + +### Medium Priority + +- [ ] Analytics provider decision +- [ ] Notification preferences backend +- [ ] Avatar unlock system + +### Low Priority + +- [ ] bugs.elmeg.xyz subdomain +- [ ] Data export (GDPR) +- [ ] Account deletion + +--- + +## Questions to Resolve ### 1. Analytics Provider -**Question:** Which analytics do you prefer? +**Options:** -- **Plausible** (privacy-first, GDPR compliant, paid ~$9/mo) -- **Umami** (self-hosted, free, privacy-first) -- **Google Analytics 4** (free, most features, privacy concerns) +- **Plausible** (privacy-first, GDPR compliant, ~$9/mo) +- **Umami** (self-hosted, free) - **PostHog** (product analytics + session replay) -### 2. Email Domain Verification +### 2. Email DNS -**Question:** Has `elmeg.xyz` been verified in AWS SES console? +**Needed for Mailgun:** -- If yes: Emails are ready to send -- If no: Need to add DKIM/TXT records to DNS - -### 3. SES Sandbox Status - -**Question:** Has production access been requested? - -- Sandbox = can only send to verified email addresses -- Production = can send to anyone +- SPF record for mail.elmeg.xyz +- DKIM records (2) +- MX records for bounce handling +- DMARC record --- ## Implementation Priority -### Today (Phase 1 Quick Wins) +### Immediate (Next Session) -1. ✅ Create this roadmap document -2. 🔄 Add privacy columns to User model -3. 🔄 Add API endpoint for privacy settings -4. 🔄 Wire up Privacy section toggles +1. [ ] Add Mailgun env vars to production +2. [ ] Configure DNS for mail.elmeg.xyz ### This Week - [ ] Answer analytics question -- [ ] Verify SES domain status - [ ] Theme persistence to user preferences ### Next Sprint