A faster and more social way to discover new music.
JavaScript CSS Shell
Switch branches/tags
Nothing to show
Latest commit d6a396c Apr 30, 2014 @grant grant Cleaned up app.js
Permalink
Failed to load latest commit information.
assets fixed Apr 25, 2014
config heroku Apr 26, 2014
models Added a bunch of socket stuff Apr 26, 2014
private/styl Merge css Apr 26, 2014
public Fixed web sockets Apr 26, 2014
routes Maybe fixed socket thing Apr 26, 2014
shell Hovering Apr 26, 2014
views Made friends sorted Apr 26, 2014
.gitignore Styles Apr 26, 2014
Procfile Added procfile Apr 26, 2014
README.md Updated README with aftermath details Apr 27, 2014
app.js Cleaned up app.js Apr 30, 2014
cover.png Updated README with aftermath details Apr 27, 2014
ideas.md Update ideas.md Apr 26, 2014
package.json Added basic server socket.io Apr 26, 2014

README.md

Harmonic

Harmonic

Harmonic is a faster way of discover music with your social network. Swipe right to add a song to your playlist, left to discard it. Find out what your friends are listening to and share your music discoveries with them instantly.

See it live at goharmonic.com

Won 1st Place at Facebook's Northwestern Regional Hackathon 2014.

Built by

Tech

  • Heroku
  • Node/Express
  • Facebook API
  • Soundcloud API
  • Socket.IO
  • Redis
  • Mongodb
  • Leap Motion
  • Stylus
  • Jade
  • SVG
  • Redbull

API

Authenticate:

GET /auth/facebook

If user has previously logged in then redirect to homepage with the flag success = true else flag is false.

Queue

GET /nextsong

Returns 5 next songs in the queue.

{
	tracks: [
		"https://api.soundcloud.com/tracks/57322132",
		"https://api.soundcloud.com/tracks/98430936",
		"https://api.soundcloud.com/tracks/49813687",
		"https://api.soundcloud.com/tracks/135334184",
		"https://api.soundcloud.com/tracks/117842383"
	]
}

POST /recommendsong

Send a song recommendation to a different user.

Parameters:

toUserFb - Facebook user ID of the person who the song is being recommended to songURL - SoundCloud URL of the song

Result: None. Just status code 200.

Playlist interaction:

Get all tracks in playlist

GET /playlist

(Requires authenticated user)

Returns:

{
	"tracks": [url1, url2, ...]
}

Add song

POST /playlist

(Requires authenticated user)

Adds a song to the users playlist.

Form needed:

songURL: url of a soundcloud song

Returns

{
	'response' : 'OK'
	'user' : {...}
}

Remove song

DELETE /playlist

(Requires authenticated user)

Form needed:

songURL: url of a soundcloud song

Returns

{
	'response' : 'OK'
	'user' : {...}
}