← Graph

Working with RailsEventStore in Cashflow Management System

talk 23 connections

Łukasz Reszke's wroclove.rb 2023 talk walking through six stories from Trezy, a cash-flow management SaaS: (1) processing open-banking webhooks asynchronously by storing them as technical events before handling; (2) introducing a bank-account aggregate to enforce operation rules and deal with out-of-order webhooks via a stored timestamp invariant; (3) a 'closed bank account with missing events' bug caused by a new feature bypassing the aggregate, fixed by writing a test, backfilling via a migration event, and reinforcing that all writes must go through the aggregate; (4) pending-transactions bug traced by replaying stored events and fixed with acts_as_paranoid soft-deletion quirks; (5) a larger project encapsulating transaction-classification rules in an aggregate, introducing real CQRS-style read/write split and discovering three explicit classification processes which were themselves event-sourced; (6) a tiny subscription-cancellation feedback feature that used a single event + Slack handler and linked to the tenant stream. The speaker introduces the team's pragmatic 'event-driven CRUD hybrid' style, stresses that event sourcing is 'just a persistence pattern', and encourages adopting it gradually in startups and legacy projects rather than waiting for greenfield.

type
talk
talk Working with RailsEventStore in Cashflow Management System
about
Describes backfilling new aggregates/read models via dedicated migration events.
talk Working with RailsEventStore in Cashflow Management System
about
Design decision underpinning the aggregate stories.
talk Working with RailsEventStore in Cashflow Management System
about
First and third stories concern integrations with open-banking providers.
talk Working with RailsEventStore in Cashflow Management System
about
Soft deletion via acts_as_paranoid caused bugs that events helped debug.
talk Working with RailsEventStore in Cashflow Management System
about
EventStorming concept
Speaker uses EventStorming notation for aggregate rules.
talk Working with RailsEventStore in Cashflow Management System
about
Read Model concept
Shows splitting read model from write model in the classification project.
talk Working with RailsEventStore in Cashflow Management System
about
CQRS concept
Classification project implements 'almost full CQRS' minus a second DB.
talk Working with RailsEventStore in Cashflow Management System
about
First story presents this pattern for open-banking webhooks.
talk Working with RailsEventStore in Cashflow Management System
about
Closes with the team's self-coined hybrid style.
talk Working with RailsEventStore in Cashflow Management System
about
Trezy project
All six stories come from Trezy.
talk Working with RailsEventStore in Cashflow Management System
about
Explains rails_event_store usage in production.
talk Working with RailsEventStore in Cashflow Management System
about
Event Sourcing concept
Event sourcing is the core persistence pattern discussed.
talk Working with RailsEventStore in Cashflow Management System
about
Async processing of webhooks and classification via event handlers.
talk Working with RailsEventStore in Cashflow Management System
about
Uses tactical DDD patterns (aggregates, read models, processes).
talk Working with RailsEventStore in Cashflow Management System
about
Aggregate Root concept
Introduces bank-account and transaction-classification aggregates.
talk Working with RailsEventStore in Cashflow Management System
about
Process Manager concept
Three explicit classification processes are modeled as event-sourced processes.
authored
Working with RailsEventStore in Cashflow Management System talk
Delivered this talk as his first time speaking at wroclove.rb.
from_talk
Working with RailsEventStore in Cashflow Management System talk
Final slide message.
from_talk
Working with RailsEventStore in Cashflow Management System talk
First-story takeaway.
from_talk
Working with RailsEventStore in Cashflow Management System talk
Lesson from the 'closed bank account with missing events' story.
from_talk
Working with RailsEventStore in Cashflow Management System talk
Used twice to debug and fix customer data.
from_talk
Working with RailsEventStore in Cashflow Management System talk
Concluding recommendation of the talk.
talk Working with RailsEventStore in Cashflow Management System
presented_at
Opening talk of wroclove.rb 2023.

Provenance

Created
2026-04-17 16:17 seed
Read by
27 extractions