IME, async in Nim is to be avoided with any real web application like ecomm if you want to just use an existing framework and not have to write your own from an http server or implement/change certain parts. Maybe HappyX works, i haven't tried that one.
When first starting to learn Nim, i built a simple biz brochure site + blog with Prologue and it ended up crashing in production, even though it was fine in dev. This made me pull off of nim for a year+, as i had web projects to do and was not happy about the wasted time and crashing website. Prologue was my last hope at the time after also building the same or similar app(s) with Jester (and others), but those seemed too half-baked (even in dev), even though i liked Jester from the user API perspective. Some or all of my problems with any of these _could_ have just been my ignorance. File uploads, with at least some async libs, use more ram for each file and don't release it, IIRC. That could be unusable in production for large files like videos, multi-user apps, etc. I'm back to nim these days, and am working on a web project, but i'm currently using Guildenstern and Sqliteral with vanillajs where necessary on the front end. I'm basically writing my own "web framework" (aka glorified helper procs), but i'm happy with it so far. More work, but i get the result i want. :) Mummy is nice IME, but it considers streaming file uploads out of scope for the project. If you don't need file uploads, or don't mind using a cloud service for that, then Mummy is probably easier than Guildenstern. Either of these multi-threaded http servers are better than async, IME.
