Posted in Coding
On websites like this one it’s still a good idea to add the option for readers to leave comments, I would argue. It opens the door for a dialogue.
Of course, I could simply add commenting functionality with one of the well-known software as a service commenting systems, but somehow I don’t want to force you, my visitors, to open accounts on some third-party system, and I’m trying to be privacy conscious with this website, which I wrote about in this post. For these reasons I chose the Juvia system many years ago. Unfortunately, at some point Juvia became unmaintained, and I found it harder and harder to run a Rails application with outdated dependencies.
Rather than trying to fix Juvia, which some other folks are doing now, I decided to write my own commenting system. (NIH is acceptable when it’s a hobby project.) Today, I’m happy to announce that a first version is in operation on this site and that the system is available as open source software.
Quvyn is the system I wrote. The name has no special significance. I basically looked through the output of an online alien name generator until I hit on a word that didn’t have many hits on web searches, was short, and sounded okay. Somehow, I liked Quvyn. It sounds a bit like “quick win”, which is what this is, and the Q in the name can be made to look like a speech bubble.
For the implementation I chose Rust, because I like Rust and it makes it easy to deploy; a single binary, rather than a Rails zoo. The Rust web frameworks—I’m using Gotham—also provide a high degree of security, for the implementation as well as the API. With the strong typing employed by the framework I’m reasonably sure I’m not going to have any nasty surprises with fuzzing. For the frontend I selected Vue.js, mostly because I wanted to learn it, but also because I heard that it was easy to integrate into other websites. The same urge to try something new that I had heard good things about made me go with AVA as a test runner and Playwright for automated browser testing. And if you are curious about such things, the font I used for the logo is Conthrax.
Well, without further ado, you can find the code on Github, and you can see the system itself a bit further down on this page. Let me know what you think!