Logo

dev-resources.site

for different kinds of informations.

An opinionated guide to Event Sourcing in Typescript. Kickoff

Published at
12/31/2024
Categories
eventsourcing
typescript
eventdriven
cqrs
Author
dariowoollover
Author
14 person written this
dariowoollover
open
An opinionated guide to Event Sourcing in Typescript. Kickoff

Who am I?

Hi! If you are here, you stumbled upon my LinkedIn profile, where I promoted this series. You probably came here from Substack (if not, please subscribe to get all the updates just in time).

I'm a passionate developer who has this crazy idea (yet not so "disruptive") to log the building of a full example of event sourcing, from event storming to the depiction of aggregates and the event store from scratch. I've zero academic learnings; all I know is what I learned on the field and writing tons of lines of code.

I'm one of the founders of Plannix.co and here I develop mostly the backend as CTO.

Why this series?

This series comes out after a 12-month-long study of how to implement this technology in our startup.

I've iterated this project at least 6 times, starting every time from scratch, so you are peaking inside a long (and most nightly) journey. Please be patient if you find antipatterns or mistakes. It's an exploration of a random tech guy, not the Bible of Event Sourcing. So take it as what it is: an exploration. Not a manual or a guide

What is my goal?

I'd like to pass the concepts why I felt in love with this architecture because once the set up is done, its advantages are countless.

What we are building

Well, I hate examples that involve To-Do lists, because this kind of domain is too simple to tackle the complexity of read models or aggregates. So I stepped out and looked at what I liked most except coding. And I found that poetry is a good field.

We'll build a backend for hypothetical software that has to manage the poetry slam events worldwide. Using concepts like poets, MCs, games, turns voting, and tournaments.

If you don't know what a poetry slam is, feel free to have a basic knowledge of this great form of expression and living poetry following this link: POETRY SLAM

How long will be this series?

Well, I don't know. I have jotted out a scheme in Obsidian and it looks like at least 46 articles. I'm writing this first one to get committed and make some noise about it. It will be a technical journal where I'll try to explain the reasons why I made certain choices and leave to the Internet some experience I never found in my exploration. I hope this series will help you have better knowledge, reuse some of my code, and enjoy the painful architecture from scratch, with the sweats and swears of a common dev that felt in love with code and working systems.

I encourage you to comment and engage in the conversation any time you want, I think confrontation is always a great value in the developer's community and indeed I love the motto of rough consensus.

I love the running code, not my ideas per se. So, come abroad and let's talk.

There will be a GitHub repo that will be updated alongside the publishing of articles.
Find my GH profile HERE

eventdriven Article's
30 articles in total
Favicon
From Heist Strategy to React State: How data flows between components
Favicon
[Boost]
Favicon
Why Schema Compatibility Matters
Favicon
how to write a Rabbit Message
Favicon
Introducing KoiCom: A Library for Building Front-End Interfaces
Favicon
Introdução a Event-driven Architecture
Favicon
Day 2: Creating NBA Game Day Notification System using Event-Driven Architecture
Favicon
API Contracts in Microservices Communication
Favicon
Hinted Handoff in System Design
Favicon
Testcontainers for kafka
Favicon
Navigating the World of Event-Driven Process Orchestration for Technical Leaders
Favicon
Use cases of Kafka
Favicon
Building Scalable Microservices with Node.js and Event-Driven Architecture
Favicon
How to Set Up Cross-Account EventBridge
Favicon
Choosing Redis Caching Over Kafka for a Grocery Delivery App
Favicon
De software legacy a oportunitat estratègica: El punt de partida (I)
Favicon
Create scalable and fault-tolerant microservices architecture
Favicon
How to Prepare for AceHack 4.0: Tips and Tricks
Favicon
Azure Event Grid: Simplifying Event-Driven Architectures
Favicon
Schedule Events in EventBridge with Lambda
Favicon
How to Create a Custom Priority Event Emitter in Node.js
Favicon
An opinionated guide to Event Sourcing in Typescript. Kickoff
Favicon
Eventual Consistency Patterns in Distributed Systems
Favicon
Arquitetura Orientada a Eventos
Favicon
40 Essential Best Practices for Successful Event Registration
Favicon
SNS vs. SQS vs. EventBridge: Choosing the Right AWS Messaging Service
Favicon
How to Leverage EventBridge for Building Decoupled Event-Driven Systems
Favicon
Build a Distributed Task Scheduler Using RabbitMQ and Redis
Favicon
Choosing the right, real-time, Postgres CDC platform
Favicon
"Listen to Yourself". Event sourcing for Domain Driven Design ... One Domain Event to Rule Them All

Featured ones: