Based on https://github.com/gathertown/door-by-api Provide configurable audio streaming for Gather.
- Create Jukebox objecs in Gather and let them play any streamable mp3/m4a
- Change streaming url, sound volume and distance in an easy-to-use frontend
- Set unique ids for multiple separate Jukebox radios, or shared ids to control multiple Jukebox radios at once
- Frontend: Vue, Vuetify
- Backend: Serverless framework to deploy to AWS Lambda and AWS S3
npm install -g serverless
serverless invoke local --function stream_url
In order to deploy the endpoint, simply run:
serverless deploy
For the frontend in client/dist
(uploaded to S3), run:
serverless client deploy
You need to set a config.js
in the root folder:
module.exports = {
ROOM_ID: 'space\\id',
MAP_ID: 'room-name',
API_KEY: 'api-key'
};
...and a api.js
in client/dist:
const apiDeployment = 'https://path/to/your/deployed/api/endpoint';
Create a jukebox object with an embedded website. Use your s3 deployment url and add an unique id after the link to help referencing the correct Jukebox:
https://<bucket-name>.s3.eu-central-1.amazonaws.com/index.html?id=<unique id>
When using the same id for multiple Jukeboxes, all of them are updated with the next update!