Commit graph

98 commits

Author SHA1 Message Date
fullsizemalt
2e4e0b811d feat: User profile enhancements - chase songs and attendance stats
Backend:
- Add ChaseSong model for tracking songs users want to see
- New /chase router with CRUD for chase songs
- Profile stats endpoint with heady versions, debuts, etc.

Frontend:
- ChaseSongsList component with search, add, remove
- AttendanceSummary with auto-generated stats
- Updated profile page with new Overview tab content
2025-12-21 18:39:39 -08:00
fullsizemalt
835299fab5 feat: Support decimal ratings (e.g., 9.2)
- Rating/Review models now use float instead of int
- Star rating component shows partial fills
- Numeric value displayed while rating
- Supports precision: 0.1 increments
2025-12-21 17:53:56 -08:00
fullsizemalt
ee311c0bc4 feat: Complete venues overhaul
- Fix ratings API to support venue_id and tour_id
- Add migration for new rating columns
- Venues list: search, state filter, sort by name/shows
- Venues detail: show list with dates, venue stats, error handling
- Remove broken EntityRating/SocialWrapper from venue pages
2025-12-21 17:51:05 -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
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
bb1cba5e20 fix: Update production URL to elmeg.xyz 2025-12-21 14:32:36 -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
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
24aec3b9b1 feat(backend): Add endpoints for onboarding flow (profile & prefs)
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:52:01 -08:00
fullsizemalt
bd71ea27d1 fix(backend): Align Report schema with DB model
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:45:55 -08:00
fullsizemalt
a75921d633 feat(social): Add threaded comments backend support
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:43:00 -08:00
fullsizemalt
d5b5ee8192 feat(social): Add Reaction model, schema, and API endpoints
Some checks are pending
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
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:36:02 -08:00
fullsizemalt
8093cb4e45 feat(profile): Polish My Dashboard and add public User Profile page
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:01:47 -08:00
fullsizemalt
6407c19a29 feat(backend): Add Heady Jams to leaderboards and optimize queries
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:55:38 -08:00
fullsizemalt
be7e9111f0 feat(frontend): Added Heady Version sorting to song page & fixed backend bug
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:45:33 -08:00
fullsizemalt
15e99b506a fix(backend): Optimize populate_links script
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:37:32 -08:00
fullsizemalt
eb83a3b65f feat(backend): Add populate_links script
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:35:55 -08:00
fullsizemalt
8c2f5e3fdd chore: Add beautifulsoup4 for web scraping
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:35:06 -08:00
fullsizemalt
7d9e9c7825 feat(backend): Add external link fields to schemas and migration script
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:26:52 -08:00
fullsizemalt
b879f28813 fix(backend): Handle missing users in feed API gracefully
Some checks are pending
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
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 01:06:51 -08:00
fullsizemalt
ffce34f948 feat: Add /shows/recent and /stats/top-songs API endpoints 2025-12-20 22:19:12 -08:00
fullsizemalt
0e71d283c9 fix: Use showdate endpoint for setlist import instead of showid 2025-12-20 22:12:28 -08:00
fullsizemalt
2a6b232e08 feat: Add elmeg.xyz domain to Traefik routing 2025-12-20 22:09:08 -08:00
fullsizemalt
63f0d7609f fix: Add country field to venue creation in import script 2025-12-20 21:38:37 -08:00
fullsizemalt
713f4cea55 feat: Add comprehensive elgoose import script 2025-12-20 21:34:00 -08:00
fullsizemalt
31d7ad816c feat: Add requests library for setlist import scripts 2025-12-20 21:25:09 -08:00
fullsizemalt
8fa04e9690 feat: Add container max-width, revamp homepage with real data, add setlist import scripts 2025-12-20 21:16:25 -08:00
fullsizemalt
f9cdd626f4 feat: Add profile editing (bio) to settings page 2025-12-20 02:36:05 -08:00
fullsizemalt
3575ac4700 feat: Add footer, static pages, rating dialog, and improve register flow 2025-12-20 02:30:17 -08:00
fullsizemalt
65bb05d9b0 feat: Restore performances, enable HeadyVersion ratings, update branding
- Updated import script to fix pagination and add idempotency
- Added performances list to Song Detail API and schemas
- Activated backend rating logic for performances
- Updated Landing Page branding
- Implemented frontend performance list display
2025-12-20 02:05:45 -08:00
fullsizemalt
b837d7654f style: add skeleton loading and card animations, increase shows limit 2025-12-20 01:00:52 -08:00
fullsizemalt
3873ddfe8f feat: add auth pages, update navbar, fix leaderboards venue display, and fix api-config 2025-12-20 00:39:53 -08:00
fullsizemalt
2c9301ae14 Fix feed username crash and add About page 2025-12-19 22:57:46 -08:00
fullsizemalt
9db36249a3 Add missing migration and finalize deployment config 2025-12-19 22:52:32 -08:00
fullsizemalt
70b48ffcc7 fix: use get_or_create for vertical in import script 2025-12-19 22:14:10 -08:00
fullsizemalt
f8b8ad7033 feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00