All Projects → gustavopch → firebase-event-sourcing

gustavopch / firebase-event-sourcing

Licence: MIT license
Event Sourcing + CQRS + DDD for Firebase

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to firebase-event-sourcing

awesome-talks
Awesome talks about event sourcing, cqrs, microservices, funcional programming ...
Stars: ✭ 23 (+64.29%)
Mutual labels:  cqrs, ddd, event-sourcing
Proophessor Do
prooph components in action
Stars: ✭ 247 (+1664.29%)
Mutual labels:  cqrs, ddd, event-sourcing
Wolkenkit Boards
wolkenkit-boards is a team collaboration application.
Stars: ✭ 236 (+1585.71%)
Mutual labels:  cqrs, ddd, event-sourcing
cqrs
A lightweight, opinionated CQRS and event sourcing framework targeting serverless architectures.
Stars: ✭ 155 (+1007.14%)
Mutual labels:  cqrs, ddd, event-sourcing
EcommerceDDD
Experimental full-stack application using Domain-Driven Design, CQRS, and Event Sourcing.
Stars: ✭ 178 (+1171.43%)
Mutual labels:  cqrs, ddd, event-sourcing
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+1528.57%)
Mutual labels:  cqrs, ddd, event-sourcing
eventuous
Minimalistic Event Sourcing library for .NET
Stars: ✭ 236 (+1585.71%)
Mutual labels:  cqrs, ddd, event-sourcing
Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
Stars: ✭ 162 (+1057.14%)
Mutual labels:  cqrs, ddd, event-sourcing
akka-persistence-gcp-datastore
akka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode.
Stars: ✭ 18 (+28.57%)
Mutual labels:  cqrs, event-sourcing, firestore
backend
Ergonode backend repository
Stars: ✭ 100 (+614.29%)
Mutual labels:  cqrs, ddd, event-sourcing
Digital Restaurant
DDD. Event sourcing. CQRS. REST. Modular. Microservices. Kotlin. Spring. Axon platform. Apache Kafka. RabbitMQ
Stars: ✭ 222 (+1485.71%)
Mutual labels:  cqrs, ddd, event-sourcing
e-shop
Sample Spring Cloud microservices e-shop.
Stars: ✭ 48 (+242.86%)
Mutual labels:  cqrs, ddd, event-sourcing
Messagebus
A MessageBus (CommandBus, EventBus and QueryBus) implementation in PHP7
Stars: ✭ 178 (+1171.43%)
Mutual labels:  cqrs, ddd, event-sourcing
es-emergency-call
Struggling with CQRS, A+ES, DDD? We can help you!
Stars: ✭ 26 (+85.71%)
Mutual labels:  cqrs, ddd, event-sourcing
Kreta
Modern project management solution
Stars: ✭ 177 (+1164.29%)
Mutual labels:  cqrs, ddd, event-sourcing
Event Sourcing
Provides basic functionality for event sourced aggregates.
Stars: ✭ 242 (+1628.57%)
Mutual labels:  cqrs, ddd, event-sourcing
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (+928.57%)
Mutual labels:  cqrs, ddd, event-sourcing
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+1035.71%)
Mutual labels:  cqrs, ddd, event-sourcing
CleanArchitecture
Clean Architecture Solution for .NET 5
Stars: ✭ 18 (+28.57%)
Mutual labels:  cqrs, ddd, event-sourcing
slack-community
Docs related to DDD-CQRS-ES Discord Community
Stars: ✭ 58 (+314.29%)
Mutual labels:  cqrs, ddd, event-sourcing

Firebase Event Sourcing

GitHub Workflow Status

Event Sourcing + CQRS + DDD for Firebase.

Basic concepts

Event Sourcing: Think of a bank account. You can't simply store the current balance. Instead, you must store the records (or the events) that have led up to the current balance (or the state). The events (deposited 100 dollars, withdrawn 50 dollars, etc.) are the source of truth. The state (the current balance) is just derived from the events.

CQRS: It means Command Query Responsibility Segregation. All those words... it must be a pretty hard concept, doesn't it? Nah, it just means that the part of your system that's responsible for writing data will be separated from the part that's in charge of reading data. So when you write data, you'll be writing events, but when you need to read data, you'll read projections (the data derived from the events). For example, whenever you call the deposit({ to: 'john', amount: 100 }) command, a deposited 100 dollars to John's account event will be recorded. In the background, that will trigger a function (a projection handler) that will update the balance of John's account in the accounts collection. Did you see it? You wrote to the events collection, but you'll read from the accounts collection.

DDD: It means Domain-Driven Design. It's a hard way to say you'll mostly name things in your code exactly how other non-tech people name them. Don't worry, you'll see that in action.

Installation

npm i firebase-event-sourcing
yarn add firebase-event-sourcing

Usage

WIP.

License

Released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].