ismasan

@ismasan@ruby.social
71 Followers
88 Following
354 Posts
Datastar v1 RC1 is officially out (with Ruby SDK by your truly). A simpler way to build and think about server-driven reactive apps for any backend https://data-star.dev
Datastar

The hypermedia framework.

Datastar

Brut: a fresh Ruby framework that ditches MVC for simple classes. Build web apps faster with less code. Docker ready.

#Ruby #WebDev #DevProductivity https://naildrivin5.com/blog/2025/07/08/brut-a-new-web-framework-for-ruby.html

Brut: A New Web Framework for Ruby

Brut: A New Web Framework for Ruby

Naildrivin' 5 - Website of David Bryant Copeland
Playing with Ruby and Event Sourcing as a mechanism for ordered web hook delivery. Webhooks for the same resource (ex. "product1") are delivered in order (no new web hook is sent until the previous one is sent successfully), but hooks for different resources are sent concurrently from each other.
Here including the dashboard
Backend re-architected, I can finally reliably rebuild event-sourced projections leveraging concurrent workers. Still lots to optimise, but this is the baseline I was aiming for.
More #eventsourcing #ruby progress: this is using SQLite for the event store backend, and a "vibe-coded" 😳 Unix socket contraption for real-time pub/sub
Holy shit it looks like I got my Ruby event-sourcing library working with SQLite. This is promising!
And a (simulated) payment workflow that runs concurrently from order fulfilment
Why does the FulfillOrder command handler also check whether all items are fulfilled? Because that might have changed in the meantime. Eventual consistency is fun!
Many ways to do this, but the Order actor reacts to its own "ItemFulfilled" events, and if all line items have been fulfilled, then it schedules a command to fulfil itself.
×
The start of a bare-bones event-sourced POS demo for an imaginary coffee-shop
I'm also extracting some common patterns into a library. Such as turning command structs into auto-validating forms, and eventually all the machinery for reactive UIs.
Status report.
Finishing the (long) day with the now classic time-travelling UI for my POS demo.