Beam
Explore the beam
desktop/web app repository...
🛠 Status: Active Development | Stable
This project is under active development.
⚠️ ⚠️ The
main
branch works with api. If you want to fix a bug in the currently live version of Beam, which works with the active id.resonate.coop services, please submit them to the v0.5-maintenance branch.
Beam
This is a music player that uses Resonate's API.
This project was bootstrapped with Create React App.
View the project board where work is tracked for this repository.
Development
Install yarn if you don't yet have it on your machine by running:
npx install yarn
git clone git@github.com:resonatecoop/beam.git
cd beam
yarn install
yarn start
Runs the app in the development mode.\ Open http://localhost:8080 to view it in the browser.
The page will reload if you make edits.\ You will also see any lint errors in the console.
Running against the API
The client is set up to run against a locally running version of the API. Check instructions there for how to get it to run. You can also run the client against our stage server (please be nice to it), but for that you'll have to ask us to add a client to the server.
Logging in.
By default, most of the app will work without logging in, but if you want to log in you'll need a client_secret
. Logging in will let you play complete songs, manage your playlists, etc.
First, create a local .env file:
cp .env .env.local
Then, you'll need to set REACT_APP_CLIENT_SECRET
to be the client \
secret for your client app. If you're working on beam directly, \
you can message Si \
to get a client secret.
Production build
yarn build
You can then run that locally with
yarn serve
Tests
for unit tests:
yarn test
for cypress tests:
yarn cypress:open
Electron
Set up using this blog post
To try it locally do:
yarn electron:start
To build it for your system:
yarn electron:package:<linux|mac|windows>
Preparing a release
In a distinct commit that just bumps the version.
- Edit the package.json with the new version
vx.x.x
. git commit -am vx.x.x
git tag vx.x.x
git push && git push --tags