Open jpmghyston opened 8 years ago
Agreed this would be a good idea. This codebase is not great at all tbh, it was my first node project, first react project, first linux server I've ever booted up, so learning the TDD approach was a step too far when I built this last year.
The whole thing needs refactoring to the point where I plan to rebuild a v2 of both client and server once spotify release their new SDK and we can move away from the buggy mess that is libspotify. I'm saving my dev energy for v2 once that lands, so don't have the time / inclination to add tests or even sizeable features in the current state.
Would love to get more people involved in v2 though once that new library lands!
Cool, good to know. Considering all of the above it's pretty awesome that you got as much functionality in as you did :)
Just reading into this a bit more - have you heard any news on the API actually being developed? From reading around it looks like it might just end up being vaporware - e.g. this blog post would suggest that providing a streaming SDK is not a priority for Spotify at the moment, which would kind of suck.
In the meantime, I'd quite like to do a bit of refactoring around the chat interface - I'm stuck in back-end dev during my day job at the moment, and have been itching to do some front-end work. Would you be willing to accept PRs of refactorings?
Sure would definitely welcome contributions! I'm off for a while now (back before xmas), but if you're keen to get going the gists mentioned on this issue should enable you to get the client working (or you can ignore VS altogether and just boot the node server up locally if you're happy to test without hearing audio). The 'authentication' is a simple 'magic-url' generated based on hash of your spotify username plus a secret 'pepper', if you drop me your email address I can simply send you my local config + login URL to get you going locally without having to unpick it yourself. Cheers.
Awesome, thanks. My email is jpm@softwire.com
There don't seem to be any automated tests at the moment. Adding some would make it a lot easier to contribute, as it gives you a solid indicator as to whether you have broken the existing functionality (and allows a TDD workflow)