A simple web application powered by Express and NodeJS that fetches random songs from the SoundCloud library using the SoundCloud API.
⚠ Playlists have stopped working due to SoundCloud API restrictions, but the rest of the application should work correctly.
Command | Keyboard Combo |
---|---|
Play/Pause | Space |
Rewind | Shift + Arrow-Left |
Seek Next | Shift + Arrow-Right |
Volume Up | Shift + Arrow-Up |
Volume Down | Shift + Arrow-Down |
Nimbus uses a few packages to help this run on a machine. Some of the dependencies include:
- 💨 Express - it is a web application after all.
- 🔨 Babel - mainly to support older browsers if you need it.
- 💎 Webpack - bundles modules together to make imports work.
- ☁️ Cirrus - a CSS framework I developed.
As great of a platform SoundCloud is, it is mainly built for sharing music through more of a social network rather than for streaming. Recently, SoundCloud has shifted towards streaming services by releasing SoundCloud Go as a subscription based service. this is a great move, but the overall website does not provide as in depth of a streaming experience as it should be. Songs should easily be added to the queue and new related tracks should appear in the queue that allows for user editing. Even simple song details and descriptions should be readily accessible when listening to the song, which a few users complained about before. Nimbus is not designed to replace SoundCloud, but serves as an alternative platform for streaming and discovering music that is built just for that after stripping away everything else.
Nimbus as of 8/3/17
First obtain all the dependencies:
npm install
Then set up your API key, which is located in consts.json
.
After you make sure that all the dependencies are included, run:
node ./routes/app.js
If you have made any changes to the modules, make sure to run:
webpack
Run locally if your global build does not work: `node_modules/.bin/webpack`
and then rerun:
node ./routes/app.js
To stop the app from running, execute:
process.exit(0);
You can download the standalone app for Chrome OS devices (Chrome store no longer shows new apps for other platforms) here.
Remember to enter your client_id
and client_secret
in the consts.json
file.
Also rename any references of consts-sec.json
to consts.json`.
- Locally store favorited tracks in new favorites tab
- Improve UI
- Connect to SoundCloud account