my perpetually-unfinished side project; read-it-later but for streaming music.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Noah Hall 4f0cb034d2 fix some issues encountered while setting up a py3 venv on vesper 7 months ago
api preliminary commit for upgrading to py3, django2. also added black formatting 10 months ago
browser/src some work on handling bad inputs in the api and giving useful feedback in the extension 2 years ago
customauth preliminary commit for upgrading to py3, django2. also added black formatting 10 months ago
frontend/src truncate artist/title rather than breaking Item rows at small page widths 2 years ago
player preliminary commit for upgrading to py3, django2. also added black formatting 10 months ago
stats preliminary commit for upgrading to py3, django2. also added black formatting 10 months ago
watershed fix some issues encountered while setting up a py3 venv on vesper 7 months ago
.eslintrc.json ok i think everything works again, maybe last webpack/deps commit for a while 3 years ago
.gitignore fix some issues encountered while setting up a py3 venv on vesper 7 months ago
LICENSE add license - CNPLv5+ 11 months ago
README.md add license - CNPLv5+ 11 months ago
fabfile.py preliminary commit for upgrading to py3, django2. also added black formatting 10 months ago
manage.py rename playq->watershed 4 years ago
package.json update js deps 11 months ago
requirements.in fix some issues encountered while setting up a py3 venv on vesper 7 months ago
requirements.txt fix some issues encountered while setting up a py3 venv on vesper 7 months ago
watershed.nginx.conf sample, maybe not-perfect-yet nginx & uwsgi confs, for intended easy/lazy deploy workflow 2 years ago
watershed.uwsgi.ini sample, maybe not-perfect-yet nginx & uwsgi confs, for intended easy/lazy deploy workflow 2 years ago
webpack.config.js changes for building production webpack bundles 2 years ago
yarn.lock Merge branch 'master' of ssh://github.com/nthall/watershed 11 months ago

README.md

Watershed - A listen-later queue for streaming music

Watershed is an app for saving music to listen later. It's not complete but I got tired of keeping it private and not finishing it. I hope to release something usable soon.

Project Status

I still really like the idea of finishing this up and "releasing" a production deployment, but life and other ideas and new fascinations keep getting in the way.

The server is down right now but I will stand it back up soon. In theory, though, you should have everything you need here to run your own.

Installation

  • The browser extension is currently available in two ways:
    • Chrome: By invitiation only in the Chrome Store
    • Firefox: Direct file transfer (or checkout and build) to get the extension, then follow manual installation instructions
    • No other browsers have been tested for support. It'd be neat if someone wanted to play around with that.
  • The webapp is markedly less useful without the browser extension :(

Contributing

  • I don't expect anyone to contribute but if this is interesting to you I'd love to hear from you and talk about it.
  • Some obvious areas for improvement are:
    • Testing
    • Updating React (again!? again.)
    • Docs/docstrings
    • Adding compatibility for other streaming sources, e.g.:
      • Youtube playlists

Building the extension

Webpack is the tool that builds both the player frontend and the browser extension. Once you have the project cloned, building the extension should theoretically be as simple as:

  1. yarn install
  2. webpack --config webpack.config.js --browser
  3. This outputs to browser/dist/ -- that's the folder you want for manually installing in Firefox. I don't remember how Chrome works in this regard anymore.

If that doesn't work, at least you know where to poke around. Gosh it'd make my day if you opened an issue about it; I'd be happy to help.

License

This software is licensed under the Cooperative Non-Violent Public License, version 5+.