JukeTube
A YouTube powered jukebox built with AngularJS.
Demo
Purpose
When I attend parties, YouTube is often used as the sole music provider. People in turn launch the video they want to hear. The process goes as follows:
- open a new tab
- browse to YouTube
- search for a video
- open and instantly pause it (to preload it)
- wait for the current video to stop
- launch the new video
Several problems arise from this process:
- need to wait for the current video to stop before launching a new one
- need to permanently have someone queuing and launching a new video
- no automatic play, so if the current video ends, there's no music
- time spent queuing a new video
- tons of tabs opened
Features
JukeTube is an attempt to simplify this scenario.
- Single page app
- Ajax search
- Playlists (upcoming and archived videos)
- Automatic play (as soon as the current video ends)
Requirements
You only need a valid YouTube Data API v3 key to copy-paste in app.js. (The current one only works on my domain).
The Gotham font is used on the demo site but is not provided. Try Google Fonts for some alternatives.
Possible enhancements
- Play/Pause/Next/Previous controls (currently, only the state is shown).
- Use the YouTube API to retrieve the pre-populated video titles using the ID. Right now, the titles are hard-coded.
- Save the current playlist in LocalStorage or a cookie and restore it on the next visit (and add a
Clear playlist
button). - Add drag controls to reorder the playlist items.
- Add search results pagination (the YouTube API provides a
pageToken
parameter).