All Projects → Adaptech → les

Adaptech / les

Licence: BSD-3-Clause license
Go directly from an event storming to a working API: Event Markdown / Markup validation & NodeJS CQRS/ES application builder.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to les

Todomvc Ddd Cqrs Eventsourcing
Implementation of basic Todo app via tastejs/todomvc in C#/Typescript with eventsourcing, cqrs, and domain driven design
Stars: ✭ 134 (+179.17%)
Mutual labels:  cqrs, eventstore, eventsourcing, cqrs-es
Eshoponcontainersddd
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
Stars: ✭ 126 (+162.5%)
Mutual labels:  cqrs, eventstore, eventsourcing, cqrs-es
Eventflow
Async/await first CQRS+ES and DDD framework for .NET
Stars: ✭ 1,932 (+3925%)
Mutual labels:  cqrs, eventstore, eventsourcing, cqrs-es
eventsourcing-go
Event Sourcing + CQRS using Golang Tutorial
Stars: ✭ 75 (+56.25%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
Eventstore
The stream database optimised for event sourcing
Stars: ✭ 4,395 (+9056.25%)
Mutual labels:  cqrs, eventstore, eventsourcing
Eventstore
Event store using PostgreSQL for persistence
Stars: ✭ 729 (+1418.75%)
Mutual labels:  cqrs, eventstore, cqrs-es
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-68.75%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
eventuous
Minimalistic Event Sourcing library for .NET
Stars: ✭ 236 (+391.67%)
Mutual labels:  cqrs, eventstore, eventsourcing
Go Cqrs All
All-in-one collection for Go CQRS / ES / DDD examples
Stars: ✭ 39 (-18.75%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
nota
"None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void.
Stars: ✭ 17 (-64.58%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+172.92%)
Mutual labels:  cqrs, eventstore, eventsourcing
Sequent
CQRS & event sourcing framework for Ruby
Stars: ✭ 400 (+733.33%)
Mutual labels:  cqrs, eventstore, eventsourcing
Aggregates.net
.NET event sourced domain driven design model via NServiceBus and GetEventStore
Stars: ✭ 261 (+443.75%)
Mutual labels:  cqrs, eventstore, eventsourcing
nestjs-boilerplate-microservice
Nestjs Microservice boilerplate: apply DDD, CQRS, and Event Sourcing within an event driven architecture
Stars: ✭ 270 (+462.5%)
Mutual labels:  cqrs, eventstore, eventsourcing
factcast
This project is archived. A friendly fork can be found at https://github.com/factcast/factcast/
Stars: ✭ 14 (-70.83%)
Mutual labels:  cqrs, eventstore, eventsourcing
Commanded
Use Commanded to build Elixir CQRS/ES applications
Stars: ✭ 1,280 (+2566.67%)
Mutual labels:  cqrs, eventstore, cqrs-es
Bifrost
This is the stable release of Dolittle till its out of alpha->beta stages
Stars: ✭ 111 (+131.25%)
Mutual labels:  cqrs, eventstore, eventsourcing
workflow
Functional CQRS Eventsourcing Engine
Stars: ✭ 22 (-54.17%)
Mutual labels:  cqrs, eventstore, eventsourcing
chekov
A CQRS/ES framework for building application in Rust
Stars: ✭ 21 (-56.25%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
go-eventually
Idiomatic Event Sourcing in Go
Stars: ✭ 76 (+58.33%)
Mutual labels:  cqrs, cqrs-es

LES

Join the chat at https://gitter.im/Adaptech/les

"Let's Event Source"

Event sourcing and CQRS/ES based "microservices" are increasingly seen as a nice way to build cohesive, loosely coupled systems with good transactional integrity. There is a knack to building software that way, so although the resulting systems tend to be much simpler and easier to understand than traditional (e.g.) object oriented implementations, there is a bit of a learning curve.

LES attempts to address this in three ways:

  1. Fast microservice prototyping: Go directly from an event storming to a working event sourced API.

  2. "Architect in a box": les validate assesses whether a prototype will result in a "good" event sourced microservice - cohesive, loosely-coupled, transactionally consistent. Then les-node -b builds a deployment-ready NodeJS API with plenty of guide fences and best practices in place as developers go forward customizing it. If you have your own coding standards or don't like NodeJS, implement your own in a language of your choice.

  3. "Citizen IT Developer". One of the goals of the LES project is to enable "business coders", "power users" and entrepreneurs with little technical knowledge to build highly scalable event sourced microservices from scratch, basically "I've made this API for my startup - could you build me an app for that?"

LES is currently in alpha. We have started using 1. and 2. in Real Life projects. But no.3 (Citizen IT Developer) especially is still quite experimental, with a good number of features missing.

See also: LES FAQ

LESTER Pipeline

Getting Started

Prerequisites

Installation

Latest version from source:

git clone https://github.com/Adaptech/les.git
make install

... or ...

Instructions for Linux, Windows Mac & Docker

Hello World

Step 1:

Create an Event Markdown file. Event Markdown (EMD) is a simple language used to describe an event storming:

# TODO List
Add Item -> // description, dueDate
Todo Added // description, dueDate
TODO List* // todoId, description, dueDate

Save it to Eventstorming.emd.

Step 2:

les convert && les-node -b && cd api && npm install && docker-compose up -d --force-recreate

Or using Docker:

docker run -v $(pwd):/les les convert && docker run -v $(pwd):/les les-node -b && cd api && npm install && docker-compose up -d

(If you doing this in Linux and encounter "permission denied" errors, your USER or GROUP ID need to be specified. Say your USER ID is 1003, then add --user 1003 after each docker run in the above command.)

Step 3:

There is no step 3.

What next ...

IDE Integrations & Tools

Known UX Impacting Issues

The issues below have been known to mystify EMD users:

Sporadic Race condition when doing cd api && npm install && docker-compose up -d

API doesn't start because Eventstore isn't up yet. (Workaround: docker-compose restart api)

#11

Need to have at least one read model parameter which is not an aggregate ID

#10

Running The Tests

make test-all

Roadmap

Features & Fixes

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