üWave ⚠
– Self-hosted collaborative listening platform. Users take turns playing media—songs, talks, gameplay videos, or anything else—from a variety of media sources like YouTube and SoundCloud. (Demo, Source Code) MIT
Nodejs
Dependencies
For running in the browser: something modern. The aim is to support ~IE11+ and other modern browsers (recent Chromes and Firefoxes, at least). If you use something reasonably recent and üWave doesn’t work, file a bug!
The server parts of üWave require Node version >= 14.0.0.
Getting Things Working
To run the web client, you need an üWave server to connect to. For development, first install the server:
git clone https://github.com/u-wave/core u-wave-core
cd u-wave-core
npm install
npm start
npm start
will run the üWave server on port 6042.
Then in a separate terminal do:
git clone https://github.com/u-wave/web u-wave-web
cd u-wave-web
npm install
npm run dev
This will run the web client on port 6041. Visit http://localhost:6041 to use it!
Building
There are two main build scripts: one for development, and one for production.
The development script runs a local üWave server and auto-reloads the web client when you make changes.
npm run dev
When building the üWave web client for use on a server, the production build should be used instead. It removes costly debugging helpers from the code and minifies everything as much as possible.
npm run prod
The prod
script doesn’t run a local server. To try out your production build, you can use the standalone serve
script:
npm run serve
API
Please see the README in the compiled npm package for API documentation.
License
The üWave web client is licensed under the MIT license.
The default mention sound file comes from a Sonics.io pack and is under the Sonics.io License (archive link).