Nicole Rauch

Software Developer

Nicole is an independent software developer and development coach with a solid background in compiler construction and formal methods. Having a strong background in the restructuring of large Java legacy code applications, she nowadays also likes to work with JavaScript, React.js and Node.js. She took part in conducting a number of self-organized Software Craftsmanship conferences. She is one of the initiators of Softwerkskammer, the german-speaking Software Craftsmanship community.


Event Sourcing a Node.js Application

When it comes to storing application data, a more or less object-relational approach is currently the norm. That means, the current state of the application is stored in the database, and whenever that state changes, the database contents gets overwritten and replaced by the new state. This does not allow us to reason about information we had in the past, e.g. "When did this user change her address?" or "Where did this user live previously?". In other words, we drop data - data that might be important for us in the future. Event sourcing circumvents this amnesia by capturing each and every event that happened throughout the life of the application, and by deriving the current state from the total volume of these events. In this talk, I will show how event sourcing works in general and which peculiarities we need to cater for when applying it to a typical node.js application.