fullsizemalt
67fbd4d152
style: Match Ersen design system
...
- Add Space Grotesk and JetBrains Mono fonts
- Implement light/dark mode toggle with next-themes
- Update color palette to match Ersen (HSL-based tokens)
- Add ThemeProvider and ThemeToggle components
- Reduce border radius to 0.3rem for cleaner look
2025-12-21 17:32:58 -08:00
fullsizemalt
415a092257
refactor: Use SES v2 stored templates in Python email service
...
- Switch from raw HTML to stored templates
- Use sesv2 client instead of ses
- Add send_security_alert_email function
- Templates: ELMEG_EMAIL_VERIFICATION, ELMEG_PASSWORD_RESET, ELMEG_SECURITY_ALERT
2025-12-21 16:55:15 -08:00
fullsizemalt
530f217445
feat: Add AWS SES v2 email service
...
Complete transactional email layer for Elmeg:
- 3 SES templates (verification, password reset, security alert)
- TypeScript integration module with AWS SDK v3
- Template deployment script
- Usage examples
- Comprehensive README with compliance notes
2025-12-21 16:04:59 -08:00
fullsizemalt
da5b5e7c45
fix: Add missing select component + update terminology to 'Top Performances'
2025-12-21 15:56:03 -08:00
fullsizemalt
06dc8889b5
feat: Add Heady Versions (performances) page
...
- /performances page with top-rated performance leaderboard
- Added to Browse dropdown in navbar
- Updated home page CTA to feature Heady Versions
- Medal icons for top 3 performances
2025-12-21 15:44:09 -08:00
fullsizemalt
3987b64209
fix: Use sh in docker-compose command for start.sh
2025-12-21 15:40:10 -08:00
fullsizemalt
1242b5d2ed
fix: Use sh to run start.sh (bypass permission issue)
2025-12-21 15:38:36 -08:00
fullsizemalt
ae732074e2
fix: Add email-validator for pydantic EmailStr
2025-12-21 15:34:57 -08:00
fullsizemalt
d386dcbd65
fix: Add missing radio-group component + doc fixes
2025-12-21 14:44:30 -08:00
fullsizemalt
cc694ed5bb
docs: Add comprehensive AWS SES setup guides
...
- AWS_SES_SETUP.md: Complete setup with prod/dev env separation
- AWS_SES_BROWSER_AGENT.md: Step-by-step for browser-based agent
- Explicit security notes about IAM scoping and key handling
2025-12-21 14:40:20 -08:00
fullsizemalt
bb1cba5e20
fix: Update production URL to elmeg.xyz
2025-12-21 14:32:36 -08:00
fullsizemalt
5a8764df05
feat: Add Heady Version Leaderboard to Song Page (Phase 4-5)
...
- YouTube embed of #1 rated performance
- Top 5 performances ranked with medal icons
- Rating + rating count display
- YouTube link icons for each performance
- Gradient gold styling for heady section
2025-12-21 14:06:37 -08:00
fullsizemalt
ad2e6a107e
feat: Enhance Mod Panel (Phase 3)
...
Backend:
- User lookup by email/username with activity stats
- Ban/unban endpoints with role protection
- Bulk approve/reject nicknames
- Bulk resolve/dismiss reports
- Queue stats endpoint
Frontend:
- Stats cards (pending items, ban count)
- User Lookup tab with search
- User profile with activity stats
- Ban dialog with duration selector
- Bulk selection checkboxes on queues
2025-12-21 14:04:33 -08:00
fullsizemalt
c16fe559e0
feat: Add Admin Panel (Phase 2)
...
Backend:
- admin.py router with user management CRUD
- Platform stats endpoint
- Shows/Songs/Venues/Tours CRUD
- Protected by RoleChecker (admin only)
Frontend:
- /admin dashboard with stats cards
- Users tab with search and edit dialog
- Content tab with entity counts
- Role/ban/verification management
2025-12-21 13:50:52 -08:00
fullsizemalt
9af0bc4b96
refactor: Switch from SendGrid to AWS SES for email
...
- Replace httpx/SendGrid with boto3/SES
- Add boto3 to requirements.txt
- Create AWS_SES_SETUP.md documentation
- Remove SendGrid setup doc
2025-12-21 13:42:07 -08:00
fullsizemalt
f1d8a14f75
feat: Add email verification and password reset (Phase 1)
...
- Add email_verified, verification_token, reset_token fields to User model
- Create email_service.py with SendGrid integration
- Add auth endpoints: verify-email, resend-verification, forgot-password, reset-password
- Create frontend pages: /verify-email, /forgot-password, /reset-password
- Add forgot password link to login page
- Add PLATFORM_ENHANCEMENT_SPEC.md specification
2025-12-21 13:28:54 -08:00
fullsizemalt
fd81b38c0c
fix: Fix migration import path
2025-12-21 13:00:10 -08:00
fullsizemalt
8df513b84f
feat: Add YouTube link support for shows, songs, and performances
2025-12-21 12:58:32 -08:00
fullsizemalt
958f097068
fix: Update docker-compose to use start.sh migration runner
2025-12-21 03:49:47 -08:00
fullsizemalt
aa3faaa7e4
feat: Add CI/CD migration runner to backend startup
2025-12-21 03:46:11 -08:00
fullsizemalt
df586b7c4e
feat: Hide leaderboards, add healthz endpoint and seed script
2025-12-21 03:41:23 -08:00
fullsizemalt
d257698539
feat(frontend): Add missing radix-ui packages for persistence
2025-12-21 03:33:02 -08:00
fullsizemalt
591ab8f6d3
fix: Correct leaderboards queries to use proper Rating FKs
2025-12-21 03:22:59 -08:00
fullsizemalt
c1ceb65d04
fix: Add migration for Reaction table
2025-12-21 03:18:53 -08:00
fullsizemalt
bc12238937
feat(frontend): Implement Onboarding Welcome Flow
Deploy Elmeg / deploy (push) Has been cancelled
2025-12-21 02:53:33 -08:00
fullsizemalt
24aec3b9b1
feat(backend): Add endpoints for onboarding flow (profile & prefs)
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:52:01 -08:00
fullsizemalt
499a9fa352
feat(frontend): Implement Admin Dashboard for moderation
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:49:11 -08:00
fullsizemalt
bd71ea27d1
fix(backend): Align Report schema with DB model
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:45:55 -08:00
fullsizemalt
a75921d633
feat(social): Add threaded comments backend support
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:43:00 -08:00
fullsizemalt
1fb39ea40a
feat(ui): Add ScrollArea component and dependency
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:40:33 -08:00
fullsizemalt
d5b5ee8192
feat(social): Add Reaction model, schema, and API endpoints
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:38:40 -08:00
fullsizemalt
a4edbb676d
feat(notifications): Added notification system with mention support
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:36:02 -08:00
fullsizemalt
1ece5a037e
feat(frontend): Add smooth page transitions and animations
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:29:47 -08:00
fullsizemalt
cb91b5ad6d
feat(frontend): Added Recharts and Song Evolution Chart
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:26:18 -08:00
fullsizemalt
8093cb4e45
feat(profile): Polish My Dashboard and add public User Profile page
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:01:47 -08:00
fullsizemalt
97a7f50c93
feat(frontend): Revamp Leaderboards page with Heady Jams tab
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:57:43 -08:00
fullsizemalt
6407c19a29
feat(backend): Add Heady Jams to leaderboards and optimize queries
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:55:38 -08:00
fullsizemalt
5c53fbc497
feat(frontend): Spec out SearchDialog for maximum utility
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:53:44 -08:00
fullsizemalt
be7e9111f0
feat(frontend): Added Heady Version sorting to song page & fixed backend bug
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:45:33 -08:00
fullsizemalt
15e99b506a
fix(backend): Optimize populate_links script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:37:32 -08:00
fullsizemalt
eb83a3b65f
feat(backend): Add populate_links script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:35:55 -08:00
fullsizemalt
8c2f5e3fdd
chore: Add beautifulsoup4 for web scraping
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:35:06 -08:00
fullsizemalt
4b4c2f4e2b
feat(frontend): Show audio links on show detail page
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:32:21 -08:00
fullsizemalt
7d9e9c7825
feat(backend): Add external link fields to schemas and migration script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:26:52 -08:00
fullsizemalt
d11f078d3e
fix(frontend): Update show detail title format to Date - Venue, Location
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:21:07 -08:00
fullsizemalt
c4905d7470
feat(frontend): Implement Heady Version mechanics with performance ratings
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:17:00 -08:00
fullsizemalt
b879f28813
fix(backend): Handle missing users in feed API gracefully
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:13:07 -08:00
fullsizemalt
47420b6e57
feat(backend): Add script to fix tour dates
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:06:51 -08:00
fullsizemalt
d09bcef56c
feat(frontend): Hide 'Most Active Fans' from leaderboards
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:05:14 -08:00
fullsizemalt
7a066995e8
fix(backend): Update DATABASE_URL to match DB name
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:02:02 -08:00