-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
### Base | ||
|
||
* Users can create Playlists. | ||
* Songs can be added to Playlists. | ||
* Songs are represented by one or more Sounds. | ||
* This part isn't required, but I think it's useful | ||
* prevents duplicate Songs | ||
* allows for a fallback if a single Sound gets taken down for whatever reason | ||
* gives flexibility for if a user has a preferred audio source (e.g. premium spotify account) | ||
* Reordering playlists will take O(n) time to replace the `index` field for each Song. I couldn't find a better representation for playlists. We can worry about perf later. | ||
|
||
``` | ||
Song | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
bywo
Author
Owner
|
||
id | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong. |
||
title | ||
artist | ||
album | ||
Sound | ||
id | ||
song {Song} | ||
type # e.g. youtube, soundcloud, mp3 | ||
location # used with type to locate the sound | ||
Playlist | ||
id | ||
user {User} | ||
name | ||
SongInList | ||
id | ||
playlist {Playlist} | ||
song {Song} | ||
index # int for where song is in the list | ||
User | ||
``` | ||
|
||
### Optional | ||
|
||
``` | ||
Profile | ||
id | ||
user | ||
blurb | ||
SongUserData | ||
This comment has been minimized.
Sorry, something went wrong.
mcchang
Collaborator
|
||
id | ||
user {User} | ||
song {Song} | ||
rating | ||
time_added | ||
num_listens | ||
``` |
How do remixes/mashups fall into this?