#Final project notes
##The problem
Music hogs
##The solution
Democratically chosen playlists
##Models
###Users
- username string
- email text
- password_digest
- timestamps
Associations:
has_many :playlists
has_many :songs
has_many :votes
###Playlists
- name string
- timestamps
Associations:
has_many :users or belongs_to :user ?
has_many :songs
has_many :playlist_votes
###Songs
- url - text
- title ?
- artist ?
- year ?
- album ?
- playlist_id
- user_id
Associations:
has_many :song_votes
has_many :skips
belongs_to :playlist
belongs_to :user
###Skips
- song_id
- user_id
Associations:
belongs_to :song
belongs_to :user
###Playlist_Votes
- up boolean
- playlist_id
- user_id
Associations:
belongs_to :user
belongs_to :playlist
###Song_Votes
- up boolean
- song_id
- user_id
Associations:
belongs_to :song
belongs_to :user
##Gems
CarrierWave
MiniMagik
User authentication
https://github.com/judofyr/ruby-oembed
##APIs
Soundcloud:
https://developers.soundcloud.com/docs/api/html5-widget
https://developers.soundcloud.com/blog/html5-widget-api
https://w.soundcloud.com/player/api_playground.html
YouTube:
https://developers.google.com/youtube/iframe_api_reference
Spotify:
https://developer.spotify.com/technologies/widgets/spotify-play-button/
##Challenges
Youtube ads
Spotify API
Real time voting
Reddit voting relationship in Rails:
https://github.com/schneems/reddit_on_rails/blob/master/part_two_comments_and_votes.md