karatube? youaoke? karayouoketube?? dunno. create a queue of youtube videos, maybe they're karaoke videoz. maybe you got a mic. ...maybe

YOUOKE.party :microphone:


Latest release v0.0.2 (14 Jun 2018)

All Releases

YOUOKE {README} :microphone:

karatube? youaoke? karayouoketube?? dunno. create a queue of youtube videos, maybe they’re karaoke videoz. maybe you got a mic. …maybe


Getting started with development

Interested in contributing to YOUOKE? Have a look at the Contributing Guidelines and the current issues

Google API

Turn on the YouTube Data API. Generate a YouTube API Key– you will need to enter this into the settings of the YOUOKE app.

In the future, hopefully, there will be more integration with the YouTube API, so an oAuth client secret will need to be setup, like so:

  1. Use this wizard to create or select a project in the Google Developers Console and automatically turn on the API. Click Continue, then Go to credentials.
  2. On the Add credentials to your project page, click the Cancel button.
  3. At the top of the page, select the OAuth consent screen tab. Select an Email address, enter a Product name if not already set, and click the Save button.
  4. Select the Credentials tab, click the Create credentials button and select OAuth client ID.
  5. Select the application type Other, enter the name “YOUOKE” (or whatever), and click the Create button.
  6. Click OK to dismiss the resulting dialog.
  7. Click the :arrow_down: (Download JSON) button to the right of the client ID.
  8. Move the downloaded file client_secret_3255645blahblahblah.json to your working directory and rename it client_secret.json.

Development environment

Run ng serve for the main YOUOKE project. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Run ng serve partyline --port 4201 to start the partyline project that allows people to search & queue song requests.

Run npm start to start the ElectronJS & Angular dev env.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

note: use --module=app e.g. ng generate @angular/material:material-nav --name=sidenav --module=app


Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

ng build -aot --prod

for electronjs:
ng build --base-href=""
ng build --aot --prod --base-href=""

npm run webbuild which is: ng build --aot --prod --base-href=''
npm run partylinebuild which is: ng build --aot --prod partyline
npm run partylinedev which is: ng serve partyline --port 4201 npm run electronbuild which is: electron-builder . -m (build mac osx package)


electronjs release OSX build:
./node_modules/.bin/electron-builder . -m
./node_modules/.bin/electron .


socket server

cd server/ npm start

socket server will be available, by default, on port 8091

see: server/README.md

Running unit tests

Run ng test to execute the unit tests via Karma.

end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.


This project is built with: