elmeg-demo/docs/ROADMAP.md
2025-12-26 23:03:54 -08:00

7 KiB

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 https://elmeg.xyz
Analytics https://stats.elmeg.xyz
Bug Tracker https://bugs.elmeg.xyz → /bugs
API Docs https://elmeg.xyz/docs
Server tangible-aacorn (Hetzner ARM64)
Git https://git.runfoo.run/runfoo-org/elmeg-demo

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.