Commit graph

42 commits

Author SHA1 Message Date
fullsizemalt
212082050c feat(bands): add My Bands page with tier management and IGNORED tier
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:49:28 -08:00
fullsizemalt
e07c23aceb feat(social): add social handles to settings page
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:39:53 -08:00
fullsizemalt
a87c0cc8a3 fix: profile date, avatar system, UserRead schema
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:26:48 -08:00
fullsizemalt
58f077268f feat(social): add profile poster, social handles, remove X
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:05:34 -08:00
fullsizemalt
ae3741c9ee fix: explicitly create preferencetier enum
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 18:36:51 -08:00
fullsizemalt
c4ba926a74 fix: rebase migrations onto staging head
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 18:34:14 -08:00
fullsizemalt
7b8ba4b54c feat: User Personalization, Playlists, Recommendations, and DSO Importer
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 16:28:43 -08:00
fullsizemalt
5b8cfffcf9 fix: Songs API filtering and default vertical
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Added vertical query param to GET /songs for correct filtering
- Changed default vertical to Phish (was Goose) to avoid empty data for new users
2025-12-29 00:03:56 -08:00
fullsizemalt
f966ef7c2e feat: Add comprehensive analytics API - gaps, velocity, trends, bustouts, debuts
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
New endpoints:
- GET /analytics/gaps/{vertical} - Songs overdue for a play
- GET /analytics/velocity/{vertical} - Hot vs cooling songs
- GET /analytics/trends/{vertical} - Monthly/quarterly chart data
- GET /analytics/stats/{vertical} - Aggregate band statistics
- GET /analytics/bustouts/{vertical} - Songs returning after long gaps
- GET /analytics/debut-songs/{vertical} - Recently debuted songs
2025-12-28 23:45:10 -08:00
fullsizemalt
b38da24055 feat: Cross-band milestone - Festivals, Playlists, Musicians, Venue Timeline
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Sprint 2: Added 54 musicians with 78 band memberships
- Phish, Widespread Panic, Umphreys McGee core members
- Notable sit-in artists (Karl Denson, Branford Marsalis, Derek/Susan Trucks)
- Toy Factory Project supergroup (Oteil, Marcus King, Charlie Starr)

Sprint 4: Festival entity for multi-band events
- Festival and ShowFestival models
- /festivals API with list, detail, by-band endpoints

Sprint 5: User Playlists for curated collections
- UserPlaylist and PlaylistPerformance models
- Full CRUD /playlists API

Sprint 6: Venue Timeline endpoint
- /venues/{slug}/timeline for chronological cross-band history

Blockers (need production data):
- Venue linking script (no venues in local DB)
- Canon song linking (no songs in local DB)
2025-12-28 23:34:05 -08:00
fullsizemalt
2c7ff6207a feat: Add multi-band musician seed script with 31 musicians and 52 memberships
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 23:20:51 -08:00
fullsizemalt
af6a4ae5d3 feat: Add VenueCanon for cross-band venue deduplication with across-bands endpoint
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 23:12:42 -08:00
fullsizemalt
60e2abfb65 feat: Add cross-band song discovery - versions endpoint and UI 2025-12-28 23:10:20 -08:00
fullsizemalt
cf7748a980 feat: Add band profile and musician profile pages with API endpoints and database support
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 23:00:30 -08:00
fullsizemalt
762d2b81ff feat: Add MSI, SCI, Disco Biscuits importers + refactor About page to be band-agnostic
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 22:36:52 -08:00
fullsizemalt
1dab125396 feat: Redesign navigation for scalability - replace dropdown with search
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 21:35:18 -08:00
fullsizemalt
9914fdb802 feat: Add band name to show pages and fix multi-band UX issues
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 18:46:21 -08:00
fullsizemalt
c026af2720 fix: Update Goose with correct MBID
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:47:39 -08:00
fullsizemalt
619c91e2f5 fix: Correct Grateful Dead MBID
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:46:57 -08:00
fullsizemalt
f2ad02df81 fix: Add city to venue slugs for uniqueness
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:42:27 -08:00
fullsizemalt
afb55153e2 fix: Add vertical slug prefix to show slugs for cross-band uniqueness
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:38:56 -08:00
fullsizemalt
5ee6735a99 fix: Add vertical slug prefix to song slugs for uniqueness
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:37:52 -08:00
fullsizemalt
d11878fdcd fix: DynamicImporter vertical bug + increase rate limit to 2s
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:33:14 -08:00
fullsizemalt
73df24f28f feat: Add universal setlist.fm importer with MBID map
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:30:34 -08:00
fullsizemalt
cdaeec1280 feat: Add comprehensive band seed (26 bands from Nugs catalog)
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:21:23 -08:00
fullsizemalt
ee89fcef7e feat: Add seed script for TTB, Ween, moe., Disco Biscuits
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:14:31 -08:00
fullsizemalt
0bdb7ca8f6 fix: Add get_current_user_optional for public endpoints
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:06:44 -08:00
fullsizemalt
fae5349f9c fix: Remove escaped quotes in badge definitions
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 17:04:00 -08:00
fullsizemalt
c8e5a48d57 feat: Groups refinement and band theming
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Group model: Add vertical_id scoping, image_url
- Vertical model: Add logo_url, accent_color for branding
- Groups router: Add vertical filter, member count, leave endpoint
- Fix CI/CD deploy.yml git clone URL (runfoo-org)
2025-12-28 16:57:41 -08:00
fullsizemalt
a9eb35fa75 feat: Add cross-band badges for multi-band activity
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Scene Explorer: 2+ bands attended
- Multi-Scene Fan: 5+ bands attended
- Scene Master: 10+ bands attended
- Jam Ambassador: 3+ bands reviewed
2025-12-28 16:50:45 -08:00
fullsizemalt
99e5924588 feat: Sprint 2 - empty states, discovery, attendance stats
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Add EmptyState component with 6 variants
- Add discover.py router with smart filtering
  - GET /discover/shows (year, venue, city, tour filters)
  - GET /discover/years
  - GET /discover/recent
- Add GET /attendance/me/stats (by vertical breakdown)
2025-12-28 16:49:24 -08:00
fullsizemalt
8718fc663a feat: Add relisten_link field to Show model
- Adds archive.org/Relisten deep link support
- Complements existing nugs_link, youtube_link, bandcamp_link
2025-12-28 16:40:54 -08:00
fullsizemalt
465017cda9 feat: Add On This Day endpoint (P2)
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- GET /on-this-day - shows matching today's month/day in history
- GET /on-this-day/highlights - top 5 for homepage widget
- Supports ?vertical= filter and ?month=&day= override
2025-12-28 16:39:52 -08:00
fullsizemalt
159cbc853c feat: Enhance musician API with cross-band sit-in tracking
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Add sit_in_summary to GET /musicians/{slug}
- Add stats: total_bands, current_bands, total_sit_ins
- Include song_title, show_date, vertical in guest appearances
- Add seed_musicians.py for initial musician data
2025-12-28 16:30:38 -08:00
fullsizemalt
5b236608f8 feat: Add SongCanon API for cross-band song linking
- Add routers/canon.py with endpoints:
  - GET /canon - list all canonical songs with versions
  - GET /canon/{slug} - get canon with all band versions
  - GET /canon/song/{id}/related - get related versions
- Add link_canon_songs.py auto-linker script
  - Finds songs with same title across bands
  - Creates SongCanon entries automatically
  - Run with --apply to execute
2025-12-28 16:28:58 -08:00
fullsizemalt
19c5e97e7f feat: Add scene filtering to verticals API
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- GET /verticals now supports ?scene= parameter
- Add GET /verticals/scenes endpoint
- Filter verticals by is_active=true
2025-12-28 16:07:46 -08:00
fullsizemalt
704a8d9a0b feat: Add Scene model for band genre categorization
- Add Scene model (Jam, Bluegrass, Dead Family, Funk)
- Add VerticalScene join table (many-to-many)
- Update Vertical with setlistfm_mbid, is_active, is_featured
- Add scenes relationship to Vertical
- Add seed_scenes.py script to populate initial data
2025-12-28 16:07:20 -08:00
fullsizemalt
5ced96f4e6 feat: Add personalized feed endpoint with vertical filtering
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Add GET /feed/me endpoint
- Filters reviews and attendance by user's band preferences
- Excludes 'hidden' display_mode bands
- Falls back to all bands if no preferences set
2025-12-28 16:05:43 -08:00
fullsizemalt
c1c041bbe9 feat: Add user vertical preferences API and onboarding UI
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Backend:
- Add routers/verticals.py with CRUD endpoints
- GET /verticals - list all bands
- POST /verticals/preferences/bulk - onboarding bulk set
- CRUD for individual preferences

Frontend:
- Add BandOnboarding component with checkbox grid
- Add /onboarding page route
- Calls bulk preferences API on submit
2025-12-28 16:04:18 -08:00
fullsizemalt
d8b949a965 refactor: Remove emojis and band colors from codebase
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Simplify Vertical model (remove color, emoji fields)
- Update vertical-context.tsx to just slug/name
- Update band-selector.tsx (no colors)
- Update all [vertical] page routes (no emojis in headings)

Themes will be added later as a separate feature.
2025-12-28 15:07:42 -08:00
fullsizemalt
56f52de7fc feat: Add cross-band entity relationship models
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Schema additions for fediversion multi-band architecture:

- SongCanon: Canonical master songs for cross-band linking
  (e.g., 'Dark Star' links GD, D&C, Billy Strings versions)

- UserVerticalPreference: User band display preferences
  - display_mode: primary/secondary/attribution_only/hidden
  - priority: Sort order for UI
  - notify_on_show: Per-band notification settings

- Vertical additions:
  - primary_artist_id: Link to main Artist entity
  - color: Hex branding color
  - emoji: Display emoji

- Song additions:
  - canon_id: Link to SongCanon for cross-band tracking
2025-12-28 14:51:22 -08:00
fullsizemalt
b4cddf41ea feat: Initialize Fediversion multi-band platform
- Fork elmeg-demo codebase for multi-band support
- Add data importer infrastructure with base class
- Create band-specific importers:
  - phish.py: Phish.net API v5
  - grateful_dead.py: Grateful Stats API
  - setlistfm.py: Dead & Company, Billy Strings (Setlist.fm)
- Add spec-kit configuration for Gemini
- Update README with supported bands and architecture
2025-12-28 12:39:28 -08:00