mirror of
https://github.com/bnair123/MusicAnalyser.git
synced 2026-02-25 11:46:07 +00:00
Implement Phase 2 Frontend with Ant Design and verify Data Ingestion
- Created `frontend/` React+Vite app using Ant Design (Dark Theme). - Implemented `App.jsx` to display listening history and calculated "Vibes". - Updated `backend/app/ingest.py` to fix ReccoBeats ID parsing. - Updated `backend/app/schemas.py` to expose audio features to the API. - Updated `README.md` with detailed Docker hosting instructions. - Added `TODO.md` for Phase 3 roadmap. - Cleaned up test scripts.
This commit is contained in:
@@ -36,8 +36,14 @@ async def enrich_tracks(db: Session, spotify_client: SpotifyClient, recco_client
|
||||
|
||||
features_map = {}
|
||||
for f in features_list:
|
||||
if "href" in f and "track/" in f["href"]:
|
||||
tid = f["href"].split("track/")[1].split("?")[0]
|
||||
tid = f.get("id")
|
||||
if not tid and "href" in f:
|
||||
if "tracks/" in f["href"]:
|
||||
tid = f["href"].split("tracks/")[1].split("?")[0]
|
||||
elif "track/" in f["href"]:
|
||||
tid = f["href"].split("track/")[1].split("?")[0]
|
||||
|
||||
if tid:
|
||||
features_map[tid] = f
|
||||
|
||||
updated_count = 0
|
||||
|
||||
@@ -12,6 +12,19 @@ class TrackBase(BaseModel):
|
||||
lyrics_summary: Optional[str] = None
|
||||
genre_tags: Optional[str] = None
|
||||
|
||||
# Audio Features
|
||||
danceability: Optional[float] = None
|
||||
energy: Optional[float] = None
|
||||
valence: Optional[float] = None
|
||||
tempo: Optional[float] = None
|
||||
key: Optional[int] = None
|
||||
mode: Optional[int] = None
|
||||
acousticness: Optional[float] = None
|
||||
instrumentalness: Optional[float] = None
|
||||
liveness: Optional[float] = None
|
||||
speechiness: Optional[float] = None
|
||||
loudness: Optional[float] = None
|
||||
|
||||
class Track(TrackBase):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
Reference in New Issue
Block a user