https://github.com/spiderpig86/nimbus
:notes: A new way to discover songs and artists on SoundCloud.
https://github.com/spiderpig86/nimbus
babel cirrus express nimbus nodejs responsive soundcloud soundcloud-api soundcloud-player soundcloud-randomizer website
Last synced: 2 months ago
JSON representation
:notes: A new way to discover songs and artists on SoundCloud.
- Host: GitHub
- URL: https://github.com/spiderpig86/nimbus
- Owner: Spiderpig86
- Created: 2017-04-17T23:05:18.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-09-19T10:37:29.000Z (over 3 years ago)
- Last Synced: 2025-03-24T15:52:23.670Z (3 months ago)
- Topics: babel, cirrus, express, nimbus, nodejs, responsive, soundcloud, soundcloud-api, soundcloud-player, soundcloud-randomizer, website
- Language: JavaScript
- Homepage: https://chrome.google.com/webstore/detail/nimbus-music/kddhelajnednobefibdobkcldimhkooc
- Size: 62.3 MB
- Stars: 14
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
Nimbus
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.
## Keyboard Shortcuts
| 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 |## Dependencies
Nimbus uses a few packages to help this run on a machine. Some of the dependencies include:
* :dash: [Express](https://expressjs.com/) - it is a web application after all.
* :hammer: [Babel](https://babeljs.io/) - mainly to support older browsers if you need it.
* :gem: [Webpack](https://webpack.github.io/) - bundles modules together to make imports work.
* :cloud: [Cirrus](https://github.com/Spiderpig86/Cirrus) - a CSS framework I developed.## Why Nimbus?
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.## Screenshots & Video


Nimbus as of 8/3/17
## How to Run
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);
```## Download for Chrome
You can download the standalone app for Chrome OS devices (Chrome store no longer shows new apps for other platforms) [here](https://chrome.google.com/webstore/detail/nimbus-music/kddhelajnednobefibdobkcldimhkooc).## Keys
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`.## TODO
* Locally store favorited tracks in new favorites tab
* Improve UI
* Connect to SoundCloud account