All Projects → Thorium → Simplecqrs Fsharp

Thorium / Simplecqrs Fsharp

Simple CQRS implemented with F#

Programming Languages

javascript
184084 projects - #8 most used programming language
fsharp
127 projects

Labels

Projects that are alternatives of or similar to Simplecqrs Fsharp

Wolkenkit
wolkenkit is an open-source CQRS and event-sourcing framework based on Node.js, and it supports JavaScript and TypeScript.
Stars: ✭ 880 (+1122.22%)
Mutual labels:  cqrs
Tydux
Type safe state management for web applications
Stars: ✭ 33 (-54.17%)
Mutual labels:  cqrs
Asombroso Ddd
Una lista cuidadosamente curada de recursos sobre Domain Driven Design, Eventos, Event Sourcing, Command Query Responsibility Segregation (CQRS).
Stars: ✭ 41 (-43.06%)
Mutual labels:  cqrs
Django Cqrs
A demo application to show how cqrs can be implemented in Django
Stars: ✭ 21 (-70.83%)
Mutual labels:  cqrs
Factory
The missing, complete example of Domain-Driven Design enterprise application backed by Spring stack
Stars: ✭ 967 (+1243.06%)
Mutual labels:  cqrs
Bank api
Code from the Event Sourcing With Elixir blog series
Stars: ✭ 35 (-51.39%)
Mutual labels:  cqrs
Cqrslite
A lightweight framework to help creating CQRS and Eventsourcing applications in C#
Stars: ✭ 925 (+1184.72%)
Mutual labels:  cqrs
Cqrswithmediatr
CQRS implementation in .NET Core with MediaTR tutorial
Stars: ✭ 71 (-1.39%)
Mutual labels:  cqrs
Foxoffice
Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.
Stars: ✭ 33 (-54.17%)
Mutual labels:  cqrs
Go Cqrs All
All-in-one collection for Go CQRS / ES / DDD examples
Stars: ✭ 39 (-45.83%)
Mutual labels:  cqrs
Rails event store
A Ruby implementation of an Event Store based on Active Record
Stars: ✭ 947 (+1215.28%)
Mutual labels:  cqrs
Eventhorizon
CQRS/ES toolkit for Go
Stars: ✭ 961 (+1234.72%)
Mutual labels:  cqrs
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (+1258.33%)
Mutual labels:  cqrs
Magazine Website Akka
The experiment on the akkadotnet
Stars: ✭ 21 (-70.83%)
Mutual labels:  cqrs
Fblazorshop
This is a port of Steve Sanderson's Pizza Workshop for Blazor by using F# and Bolero.
Stars: ✭ 58 (-19.44%)
Mutual labels:  cqrs
Nestjs Cqrs Starter
Nestjs-cqrs API
Stars: ✭ 25 (-65.28%)
Mutual labels:  cqrs
Tools
C# 工具箱,提供Socket(TCP、UDP协议)、Redis、activemq、数据库访问等技术的封装实现
Stars: ✭ 34 (-52.78%)
Mutual labels:  cqrs
Eventstore.akka.persistence
Event Store Journal for Akka Persistence
Stars: ✭ 72 (+0%)
Mutual labels:  cqrs
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-5.56%)
Mutual labels:  cqrs
Ultimate Backend
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
Stars: ✭ 978 (+1258.33%)
Mutual labels:  cqrs

Simple CQRS on F# (F-Sharp) 3.0

Based on Greg Young's CQRS: https://github.com/gregoryyoung/m-r/tree/master/SimpleCQRS

CQRS is Command and Query Responsibility Segregation -pattern. If you don't know that, use Google or look http://martinfowler.com/bliki/CQRS.html I have separated command side and query side as different projects.

This is F# solution. Compared to C#:

  • Simpler source code
  • No need for any "InfrastructureCrap"
  • Domain objects doesn't need to have parameter less constructors
  • Interactive-driven development

What you will need to run this:

Optional:

There are two versions of event storage:

  1. Pure F# as EventStorage.fs
    • Uses pure .NET Events with F# Observable as event bus
    • Uses MailboxProcessor ("agents"/message passing) as event storage
  2. F# with Reactive Extensions as EventStorageRx.fs
    • Uses reactive framework Subject as event bus
    • Uses reactive framework ReplaySubject as event storage Although technical concept is different, the functionality is identical.

You can run this with F# interactive, directly from files and/or using Script.fsx.

This QuerySide is just in-memory one as in Greg's example. I suggest using F# Type Providers in QuerySide with real database...

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].