All Projects → sloshy → fs2-es

sloshy / fs2-es

Licence: MIT license
Event sourcing utilities for FS2

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to fs2-es

fs2-google-pubsub
Google Cloud Pub/Sub stream-based client built on top of cats-effect, fs2 and http4s.
Stars: ✭ 32 (-57.33%)
Mutual labels:  streaming, fs2, cats-effect
niue
A tiny shared state and event library for React
Stars: ✭ 17 (-77.33%)
Mutual labels:  events, state-management
pfps-examples
🏮 Standalone examples shown in the book "Practical FP in Scala: A hands-on approach"
Stars: ✭ 167 (+122.67%)
Mutual labels:  fs2, cats-effect
tstate-machine
TypeScript implementation of State Manager(like StateMachine)
Stars: ✭ 20 (-73.33%)
Mutual labels:  state-management, state-machine
asyncmachine
Relational State Machine with a visual inspector
Stars: ✭ 67 (-10.67%)
Mutual labels:  state-management, state-machine
meteor
https://d2a4u.github.io/meteor/
Stars: ✭ 17 (-77.33%)
Mutual labels:  fs2, cats-effect
xstate
State machines and statecharts for the modern web.
Stars: ✭ 21,286 (+28281.33%)
Mutual labels:  state-management, state-machine
EventEmitter
Simple EventEmitter with multiple listeners
Stars: ✭ 19 (-74.67%)
Mutual labels:  events, event-sourcing
scala-functional-programming-tutorial
Functional Programming in Scala Tutorial
Stars: ✭ 23 (-69.33%)
Mutual labels:  fs2, cats-effect
continuous-analytics-examples
A collection of examples of continuous analytics.
Stars: ✭ 17 (-77.33%)
Mutual labels:  events, streaming
tutorials
🎥 Source code of the examples shown in the video tutorials
Stars: ✭ 18 (-76%)
Mutual labels:  fs2, cats-effect
incubator-eventmesh
EventMesh is a dynamic event-driven application runtime used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.
Stars: ✭ 939 (+1152%)
Mutual labels:  state-management, event-sourcing
bloc
A predictable state management library that helps implement the BLoC design pattern
Stars: ✭ 12 (-84%)
Mutual labels:  state-management, state-machine
muon-java
Muon Core for the JVM. APIs and Microservices taken to the next level
Stars: ✭ 18 (-76%)
Mutual labels:  events, event-sourcing
typelevel-stack.g8
📚 Unofficial Giter8 template for the Typelevel Stack (Http4s / Doobie / Circe / Cats Effect / Fs2) based on Cats v1.x.x
Stars: ✭ 63 (-16%)
Mutual labels:  fs2, cats-effect
node-cqrs-saga
Node-cqrs-saga is a node.js module that helps to implement the sagas in cqrs. It can be very useful as domain component if you work with (d)ddd, cqrs, eventdenormalizer, host, etc.
Stars: ✭ 59 (-21.33%)
Mutual labels:  events, event-sourcing
xoid
Framework-agnostic state management library designed for simplicity and scalability ⚛
Stars: ✭ 96 (+28%)
Mutual labels:  state-management, state-machine
tardis
Event sourcing toolkit
Stars: ✭ 35 (-53.33%)
Mutual labels:  events, event-sourcing
use-state-machine
Use Finite State Machines with React Hooks
Stars: ✭ 28 (-62.67%)
Mutual labels:  state-management, state-machine
kstatemachine
KStateMachine is a Kotlin DSL library for creating finite state machines (FSM) and hierarchical state machines (HSM).
Stars: ✭ 63 (-16%)
Mutual labels:  state-management, state-machine

FS2-ES

Sonatype Nexus (Releases) Gitter

This is a small library to encode event-sourcing patterns using FS2, a streaming library in Scala. The library is polymorphic using Cats Effect, so you can use it with any effect type you want that implements cats.effect.Concurrent.

To use, add the library to your build.sbt like so:

libraryDependencies += "dev.rpeters" %% "fs2-es" % "<latest-version>"
libraryDependencies += "dev.rpeters" %% "fs2-es-testing" % "<latest-version>" //Test module

Currently Scala 2.12 and 2.13 are both supported. Project is built for Scala JVM and ScalaJS 1.4+.

Features

This library has three core focuses:

  • State Management - Use "EventState" to model event-driven state that is safe, concurrent, and with no boilerplate.
  • Event Sourcing - Manage entities using event sourcing patterns with "EventStateCache", a standard repository interface.
  • Test Utilities - Utilize time-travel debugging features and other goodies to analyze your state as it changes.

Click any of the links above to go to the relevant parts of the documentation on our microsite.

API Docs

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