Obskurnee 2.0 - a major upgrade
Obskurnee, my open-source web app for book clubs, underwent a major tech upgrade. (Github here.) Besides that, the major new feature is search. All seems to work well, but this time none of my usual testers could help, so it didn't get as rigorous a test as I'd like. (Our production instance has run on this version for some time now, without issues.)
Search
You can now search all the book suggestions and recommendations. It's built on SQLite's FTS5. I've tried to make the search user-friendly: it tries to look for prefixes, and sanitizes input, but still allows for wildcards (*
) and exact phrase matches ("the fittest"
).
![](https://zblesk.net/blog/content/images/2024/06/image-5.png)
Upgrading
If you're on :latest
, you only need pull a newer version.
Tech
Ok, now for some background info.
Work on the project pretty much stalled because of how fragile some parts of the stack were: the glue libraries handling the SPA hosting in .net 6 broke even on a minor version update of some of the npm dependencies; and they relied on deprecated nodejs features. The result of this was that to make any changes I had to downgrade to node 16 to even build the project.
Fortunately, MS released an official Vue + .net 8 project template. Unfortunately, moving the thing over to the new structure and framework(s) was quite a lot of work.
Nevertheless, it is done. All seems to work well, and all dependencies (both front-end and back-end) were bumped to the latest versions.
One more minor new feature: if you open /build.html
in the browser, you'll get the instance's build info.
![](https://zblesk.net/blog/content/images/2024/06/image-6.png)
To-do
The demo container isn't updated yet. That's the highest priority for now.
And the app does need a little more testing, to ensure nothing important broke. I suspect there might be a bug that sometimes changes the user's language to EN, but that isn't critical.
And maybe I'd like to eventually add RSS as an option for book feeds, besides the extant Goodreads and Storygraph.
Comments ()