/booklist

A fully-functioning book tracking website—my own LibraryThing, basically.

Primary LanguageJavaScript

booklist

A web app to track your book collection, currently hosted at https://mylibrary.io/

I made this to help me learn and try out modern web dev tools I'm interested in, and to track my own library. Progress is limited to whatever time I can find, so of course pieces may be incomplete or not perfectly polished. Currently you can scan your books, which are looked up via the GoodReads API, or manually enter them if they're not found. Books can be searched, including tagging with hierarchical subjects; there's also some crude data visualizations (made with D3) and a way to find book recommendations based on similarity searches agains a set of books you select. Public (read-only) access to your library can also be opted into—mine here here. Most recently I've started enabling offline functionality via IndexedDB and Service Worker.


I initially made this with the goal of creating iterations of the app with React, Angular, Aurelia, etc. So far I've felt no desire to leave React or stop iterating on the (single) React version. Nonetheless, it's designed so that all iterations will share the same data, data access, etc. The few controllers left are sniffed out and wired with my easy-express-controllers library, though at this point most of the backend is implemented with GraphQL via my mongo-graphql-starter and micro-graphql-react projects. Data is stored in Mongo, and all book info is looked up with the GoodReads API, subject to an unfortunate one-request-per-second limit.

The current React iteration uses TypeScript and vanilla Hooks, and is in the react directory.

Future iterations may potentially look at ... whatever is thriving whenever the React version is done, if it ever is...