QuanLib: Organize and Browse a Library of eBooks

Motivation

When we moved to Japan in 2015, my children shifted from having shelves full of English books to using e-readers (a Kobo and a Sony). Overall, the experience is a very good one, and (as Douglas Adams predicted several decades ago) it's much more practical to carry reading material around the world with you electronically.

There is one draw-back, though—the experience of browsing through a collection of books until something catches your interest is just not the same on a reader. First of all, the reader's storage, while prodigious, is not enough to handle all interesting books (and the reader software seems to hit some bugs once the number of books installed gets too large); secondly, the experience of searching and scrolling through the books, and checking out their descriptions, is slow and awkward. QuanLib is an attempt to give my children back that “browsing the shelves” experience that they are currently missing out on.

(This project also provided a concrete problem to work on while picking up a couple of new-to-me programming languages: Ruby and Golang. I'm still far from being an expert on either, but think that I now know enough about them to have an opinion on their strengths and weaknesses.)

Implementation

QuanLib consists of three pieces:

Want to see it in action? Click here.

Source Code

The code is available under GPLv3 (or, at your option, any later GPL version).

You can download it from my Git server here. Note that it's split into two repositories: