Playa

The problem

Music hogs

The solution

Democracy

Models

&

Associations

User

has_many :playlists

has_many :songs

has_many :votes

  • name string
  • profile_pic text?
  • is_creator? bool
  • is_admin? bool
  • password_digest
  • timestamps

Playlist

belongs_to :user

has_many :songs

has_many :playlist_votes

  • name string
  • timestamps

Song

has_many :song_votes

has_many :skips

belongs_to :playlist

belongs_to :user

  • url - text
  • title ?
  • artist ?
  • year ?
  • album ?
  • playlist_id
  • user_id

Skip

belongs_to :song

belongs_to :user

  • song_id
  • user_id

Playlist_Vote

belongs_to :playlist

belongs_to :user

  • up boolean
  • playlist_id
  • user_id

belongs_to :song

belongs_to :user

 

 

Song_Vote

  • up boolean
  • song_id
  • user_id

APIs

YouTube

SoundCloud

Spotify

 

Gems

ruby-oembed

carrierwave

cloudinary

mini-magik

httparty

font-awesome-rails

JS Libraries

 

Backbone

Underscore

Dropzone?

Challenges

Real time voting

YouTube ads

Spotify API

 

Questions / suggestions?

Made with Slides.com