# Elmeg Platform Roadmap **Last Updated:** 2025-12-27 **Status:** Production Ready โœ… --- ## Current State Summary Elmeg is a fully functional platform for the Goose fan community to track shows, rate performances, write reviews, and engage with other fans. All core features are implemented and deployed. --- ## โœ… Completed Features ### Core Platform | Feature | Description | |---------|-------------| | Show Database | Complete show history with venues, tours, setlists | | Performance Tracking | Individual song performances linked to shows | | Song Library | All songs with original artist info, cover tracking | | Venue Database | All venues with location data | | Tour Management | Tours with date ranges | ### User System | Feature | Description | |---------|-------------| | Registration | Email/password with verification | | Password Reset | Secure token-based reset via email | | Profile | Username, display name, bio, avatar customization | | Privacy Controls | Public/private profile, leaderboard opt-out | | Theme Persistence | Light/dark mode synced to account | | GDPR Data Export | Download all personal data as JSON | | Account Deletion | Full data removal with email confirmation | ### Social Features | Feature | Description | |---------|-------------| | Reviews | Blurb + full content + score for any entity | | Ratings | Granular scores for performances, shows, songs | | Comments | Threaded comments with @mentions | | Reactions | Like/love reactions on reviews/comments | | Activity Feed | "Living links" to reviewed content | | Groups | Create/join fan groups | | Chase Songs | Track songs you want to hear live | | Attendance | Mark shows you've attended | ### Gamification | Feature | Description | |---------|-------------| | XP System | Earn XP for activities | | Levels | Level up based on XP | | Badges | Unlock achievements | | Leaderboards | Community rankings | | Avatar Unlocks | XP-gated avatar customization | ### Rankings & Discovery | Feature | Description | |---------|-------------| | Performance Rankings | #X of Y versions, average ratings | | Heady Badges | Top-rated versions highlighted | | Search | Full-text search across all entities | | Videos Page | YouTube links for performances | ### Email Notifications | Feature | Description | |---------|-------------| | Verification | Account email verification | | Password Reset | Secure reset emails | | Reply Alerts | Email when someone replies to your comment | | Mention Alerts | Email when you're @mentioned | | Chase Alerts | Email when a chased song is played | | Weekly Digest | Activity summary + community highlights | ### Admin Tools | Feature | Description | |---------|-------------| | User Management | View/edit users, roles, verification | | Content CRUD | Shows, songs, venues, tours, performances | | Platform Stats | Dashboard with key metrics | | Email Testing | `POST /api/admin/test-email` | | Digest Trigger | `POST /api/admin/send-weekly-digest` | | Link Import | Bulk import external links | --- ## ๐Ÿ”„ Future Enhancements ### Priority: High | Feature | Description | Complexity | |---------|-------------|------------| | Automated Weekly Digest | Add cron job to server to auto-send Sundays 9am UTC | Low | | Error Tracking | Integrate Sentry for backend error monitoring | Medium | | Uptime Monitoring | Set up UptimeRobot or similar | Low | ### Priority: Medium | Feature | Description | Complexity | |---------|-------------|------------| | One-Click Unsubscribe | Add token-based unsubscribe links in emails | Medium | | Email Templates | Move to proper template engine (Jinja2) | Medium | | Rate Limiting | Add request rate limiting to protect API | Medium | | API Caching | Redis cache for frequently accessed data | Medium | | Image Uploads | User profile pictures, venue photos | High | ### Priority: Low (Nice-to-Have) | Feature | Description | Complexity | |---------|-------------|------------| | Social Auth | Google/Discord OAuth login | Medium | | Two-Factor Auth | TOTP-based 2FA | High | | Push Notifications | Web push for real-time alerts | High | | Mobile App | Native iOS/Android apps | Very High | | Dark Mode System | Respect system preference by default | Low | | PWA | Progressive web app for mobile | Medium | --- ## ๐Ÿงน Technical Debt | Item | Description | Priority | |------|-------------|----------| | Remove deprecated `version` | docker-compose.yml version key | Low | | Clean unused files | `scripts/cron_weekly_digest.sh` not used | Low | | Add test coverage | No automated tests currently | Medium | | API Documentation | OpenAPI docs exist but could be enhanced | Low | | Code comments | Some complex functions need better docs | Low | --- ## ๐Ÿš€ Deployment Info | Component | URL/Location | |-----------|--------------| | Production | | | Analytics | | | Bug Tracker | โ†’ /bugs | | API Docs | | | Server | tangible-aacorn (Hetzner ARM64) | | Git | | ### Container Stack - `backend` - FastAPI (Python 3.11) - `frontend` - Next.js 15 - `db` - PostgreSQL 15 - `db-backup` - Auto daily backups (7 days, 4 weeks, 6 months) - `umami` - Analytics - `umami-db` - Analytics database ### Email - Provider: Postal (self-hosted) - SMTP: smtp.elmeg.xyz:25 - DNS: SPF, DKIM, DMARC configured --- ## ๐Ÿ“ Quick Reference: Key API Endpoints ### User Preferences ``` GET /api/preferences/ # Get all preferences PUT /api/preferences/ # Update preferences ``` ### Email Notifications (triggered automatically) - Reply: When someone replies to your comment - Mention: When you're @mentioned - Chase: When a chased song is played (via import) - Digest: Admin triggers `POST /api/admin/send-weekly-digest` ### GDPR/Privacy ``` GET /api/users/me/export # Download all your data DELETE /api/users/me # Delete account (body: {"confirm_email": "..."}) ``` ### Admin (requires admin role) ``` POST /api/admin/test-email?to_email=... # Test email config POST /api/admin/send-weekly-digest # Trigger weekly digest GET /api/admin/stats # Platform statistics ``` --- ## ๐Ÿ“… Session History ### Dec 27, 2025 - Fixed auth persistence (missing DB columns) - Added performance rankings (#X of Y) with heady badges - Theme persistence to backend - GDPR data export + account deletion - Email notifications (reply, mention, chase, digest) - bugs.elmeg.xyz subdomain - Admin email endpoints ### Dec 26, 2025 - Launch readiness polish - Favicon, robots.txt, sitemap - SEO meta tags ### Dec 24-25, 2025 - Umami analytics integration - Database backup automation - UI polish (border-radius, emojis removed) ### Dec 22-23, 2025 - YouTube video integration - Postal email setup - Email verification working --- ## ๐ŸŽฏ Next Session Priorities 1. **Set up automated weekly digest cron** (if desired) 2. **Test all notification flows end-to-end** 3. **Consider error tracking (Sentry)** 4. **Any user-reported bugs or requests** --- *This document is the source of truth for Elmeg platform status and roadmap.*