art-of-code / project-teratogen

(Name pending) Music Server written in Python
0 stars 0 forks source link

Database Modeling #1

Open MakotoTheKnight opened 9 years ago

sholly commented 9 years ago

SQLAlchemy

Classes/Tables:

Song: Filename Filepath Artist Album (many to many??) Track Number Genre BPM Rating

Playlist Song (1 to 1)

Artist Song Album

Album Artist

MakotoTheKnight commented 9 years ago

As a rough draft this is pretty good. Since the JSON modeling follows closely with the database modeling, I did a bit of thinking and added some fields to the DB that may be relevant. Let me know what you think.

{
  "filename": "song_filename.mp3",
  "filepath": "/path/to/song_filename.mp3",
  "artist": "Smooth Operator",
  "album":  "Smooth Operator's Greatest Hits, Volume 17",
  "trackNumber": 1,
  "genre": [
    "Techno",
    "Electronica",
    "Trance"
  ],
  "bpm": 95,
  "rating": 4.5,
  "playCount": 12,
  "favorited": false
}