Society of Books
2024-07-13
A few years ago I created a Bookclub site (you can see the public-facing side of it here. Use the username 'guest' and no password), initially to serve my book club of 20 years and 200+ books.
We'd been tracking our books and meetings in a shared Google Sheet, and honestly, that's all it needs. Only two of us even care about tracking the data, unless we start a debate about whether or not we've read a given author or book. (After 20+ years of monthly meetings, these debates are more frequent)
A few years ago I created a Bookclub site (you can see the public-facing side of it here. Use the username 'guest' and no password), initially to serve my book club of 20 years and 200+ books.
We'd been tracking our books and meetings in a shared Google Sheet, and honestly, that's all it needs. Only two of us even care about tracking the data, unless we start a debate about whether or not we've read a given author or book. (After 20+ years of monthly meetings, these debates are more frequent)
Building the site was actually just an excuse to learn about a responsive CSS framework ... I think I started with Bootstrap but ended up on Bulma ... and a little Javascript. And it got out of hand, as unplanned applications always do. It had a home-grown login system, a private Manager interface, tie-ins to an Amazon Associate account, and a MySQL-based data model to support multiple book clubs. In other words, complete overkill gathering dust on a virtual shelf.
"Book Club Mini" is a revised site that embraces a few simple truths:
- There are about 300 books ... this is not Big Data!
- A bookclub site usually doesn't need member management ... view the lists or don't. It isn't secret stuff.
- If you commit to CSS and JavaScript, it will take over your whole life
The revised site is open to the public. Books and Meetings are maintained in small, delimited text files. Graphics are provided by Bookshop.org widgets. PHP is used for setting up files and lists, and managing the server-side tasks. And the look and feel leverages Lit.css, a 500 byte responsive CSS file, which is about all the CSS I'm willing to deal with.
A slightly more impressive subculture exists of Python and BASH scripts created to automate regular tasks:
- Scheduling meetings
- Looking up book ISBN identifiers and image files for book covers
- Creating backup spreadsheets that we all look at end-of-year for our annual Best and Worst meeting
- Updating supporting text files for the new site and the MySQL tables for the old one
Read More