Mybookshelf2 enters the stage, when code can be considered of alpha quality. Basic functionality is there, so it could be tried and I plan to move my ebooks collection to it soon. MBS2 is packed with new technologies and comparing to previous version (Mybookshelf) it can be considered a completely new application.
So what’s new? Concerning functionality not much, but a lot happened internally. For me it’s more about testing and playing with new technologies then managing ebooks (which is still important of course). Maybe some of currently used technologies are bit of overkill (like using WAMP protocol), but nevertheless they play important part in the application.
All server side code is written in Python, for this project I decided to use Python 3.5 without backwards compatibility. Python 3.5 is stable enough now and it’s syntax extensions for asyncio (which are used in the project) are really nice. Front end is using Aurelia Javascript framework, which is leveraging latest JS achievements (ECMAScript 2016).
Below is block schema of Mybookshelf2 application:
Although the application looks bit complex to deploy you can easily try it with Docker, docker scripts are available with application source code on github.
You can also check its page on this web short demo video.