Go to https://zeebn.cfapps.io and add it to your home screen to run as a dedicated web app on your mobile.
Zeebn runs a timer for 7 minutes. Tracks are shuffled from the selected playlist each time the app opens. Playback is continuous, i.e. when a track finishes before the timer runs out, the next track will be played seamlessly. A warning tone will signal when 2 minutes are remaining and an ending tone, when the timer is about to run out.
- play - tap the screen
- pause - tap the screen
- reset - long-tap the screen
- change track - shake the phone
By default, Zeebn plays randomly selected tracks from a default
SoundCloud playlist. You can, however customize the playlist.
Simply add a url parameter playlist
to the URL. The value
needs to be the full URL of that playlist, as it is shown in your
browser's URL bar when viewing the playlist on SoundCloud.
For instance:
https://zeebn.cfapps.io?playlist=https://soundcloud.com/metzeltiger/sets/berghain
Get a SoundCloud API client ID. For help see https://developers.soundcloud.com/ and http://soundcloud.com/you/apps/new.
Make sure this is set in your
environment as SOUNDCLOUD_CLIENT_ID
. During development, the
gem middleman-dotenv
is integrated to use a .env
file to
store your credentials without having to check them in.
See .env.example
.
To run the app locally, run
middleman serve
To run the specs, run
rake jasmine
and open the indicated jasmine server in your local browser.
Pushing to this repository automatically deploys the app to Cloud Foundry through Travis CI. It pushes to https://zeebn.cfapps.io so no further action is required. Tests are run before pushing to ensure the code still works as expected.
Make sure you are logged in to your Cloud Foundry instance and have a
manifest.yml
set up, which includes all the required environment variables
and other configurations. If you already created an app, you can create this
file with the CF CLI:
cf create-app-manifest YOUR_APP_NAME
Then you can deploy using this rake task:
rake cf:deploy
Uses the amazing NoSleep.js to prevent the app from sleeping.