mirror of
https://github.com/bnair123/MusicAnalyser.git
synced 2026-02-25 11:46:07 +00:00
Implement Phase 2 Frontend and Phase 3 Data Enrichment
- Initialize React+Vite Frontend with Ant Design Dashboard. - Implement Data Enrichment: ReccoBeats (Audio Features) and Spotify (Genres). - Update Database Schema via Alembic Migrations. - Add Docker support (Dockerfile, docker-compose.yml). - Update README with hosting instructions.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from sqlalchemy import Column, Integer, String, DateTime, JSON, ForeignKey, Boolean
|
||||
from sqlalchemy import Column, Integer, String, DateTime, JSON, ForeignKey, Float
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
from .database import Base
|
||||
@@ -16,6 +16,24 @@ class Track(Base):
|
||||
# Store raw full JSON response for future-proofing analysis
|
||||
raw_data = Column(JSON, nullable=True)
|
||||
|
||||
# Enriched Data (Phase 3 Prep)
|
||||
# Audio Features
|
||||
danceability = Column(Float, nullable=True)
|
||||
energy = Column(Float, nullable=True)
|
||||
key = Column(Integer, nullable=True)
|
||||
loudness = Column(Float, nullable=True)
|
||||
mode = Column(Integer, nullable=True)
|
||||
speechiness = Column(Float, nullable=True)
|
||||
acousticness = Column(Float, nullable=True)
|
||||
instrumentalness = Column(Float, nullable=True)
|
||||
liveness = Column(Float, nullable=True)
|
||||
valence = Column(Float, nullable=True)
|
||||
tempo = Column(Float, nullable=True)
|
||||
time_signature = Column(Integer, nullable=True)
|
||||
|
||||
# Genres (stored as JSON list of strings)
|
||||
genres = Column(JSON, nullable=True)
|
||||
|
||||
# AI Analysis fields
|
||||
lyrics_summary = Column(String, nullable=True)
|
||||
genre_tags = Column(String, nullable=True) # JSON list stored as string or just raw JSON
|
||||
|
||||
Reference in New Issue
Block a user