My successful playlist converter application is at this time full browser js. That means there no backend, and so no backend logic even for api calls.
This application, a playlist converter from one streaming service to another need to make lot of api calls to each service. This api calls make search for each tracks, get your playlist from your account and can even create the converter playlists directly in your acccount.
Maybe you know that this api calls are throttled. I mean you have a limited api call per minute per application or per ip. If it is per IP i get a lot more because your browser do the job so this is your IP.
Unfortunately, not all services allows api calls with the browser. Things got complicated when you use oauth, the technology allowing my apps to edit your account playlists.
So i decided to move this angular apps to ruby on rails 4 + puma server + capistrano deployment.
Caveats: everything run ok but take care of angular app minification ! Rails do a great job on minifying assets and the angular code is a bit edge. Take care of header / constructor declaration with import and inference. Remaining stuff runs well…
So whats next ?
No i can connect rdio, maybe youtube but it seems youtube oauth gone full browser js (good news). I can connect every api existing.. but… It is still clever to make your browser doing maximum of job: even for the same api calls limit i do not user backend cpu / ram / network i mean IOs.
SEO ! No i can do backend content so content optimisation for search engine.. i can write tutorials related to playlist conversion so grab more traffic.. which is my first business goal on this project if we don’t count the donations which can be great some month..
So aftert OnePlaylist death i’m again in business with this rails app. And stay tuned for OnePlaylist baby.. soon !