Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A simple event sourcing "framework" packaged on Nuget.org at https://nuget.org/packages/Regalo/ and based entirely on my learnings from Greg Young's DDD, CQRS and Event Sourcing course. The implementation may differ from Greg's in places, but the goal is generally the same. Calling it a "framework" is overstating things somewhat given it's such …
C# PowerShell
Failed to load latest commit information.
.nuget Enabled NuGet Package Restore for Regalo.Core
Regalo.Core.Tests.DomainModel Added ability to assert on expected exceptions in Regalo.Testing.
Regalo.Core.Tests.Unit Removed LightweightCache* fixed broken tests.
Regalo.Core Removed LightweightCache* fixed broken tests.
Regalo.ObjectCompare.Tests.Unit ObjectCompare Now checks for any value type for simple comparison and…
Regalo.ObjectCompare ObjectCompare Now checks for any value type for simple comparison and…
Regalo.RavenDB.Tests.Unit Implemented changes to prevent loading event streams and performing c…
Regalo.RavenDB DelayedWriteRavenEventStore now sets DocumentSession.Advanced.UseOpti…
Regalo.SqlServer.Tests.Unit Built-out testing project, now almost complete.
Regalo.SqlServer Added versioning to new projects.
Regalo.Testing.Tests.Unit Added ability to assert on expected exceptions in Regalo.Testing.
Regalo.Testing Switched EventBus tests to use ConsoleLogger, revealing a logging bug.
.gitignore Created nuspec files such that despite being in the same solution and…
BuildPackage.ps1 Build script now clears build output folder before building.
LICENSE.txt Updated licence file to state which licence was used.
Packaging Regalo.txt Updated packaging instructions.
PushPackage.ps1 Fixed PushPackage.ps1 script.
README.md Added MIT license and updated readme.
Regalo.sln Introduced ObjectComparer.
Regalo.sln.DotSettings Extracted code used to find the type hierarchy for a given Type into …
install-package.ps1 Moved and consolidated prebuild files into one write-assemblyinfo.ps1…
write-assemblyinfo.ps1 Created nuspec files such that despite being in the same solution and…

README.md

What is it?

A simple event sourcing "framework" based on Greg Young's work in DDD, CQRS and Event Sourcing. In truth, as you'll see, it's barely a "framework" as much of a bunch of reusable code. :)

Why'd you call it "Regalo"?

Well it's an event sourcing framework, and events tell a story. You might "regale" someone with a story, and I just swopped the trailing "e" for an "o" to make it sound cool. Hence "Regalo". I pronounce it "regarlo", in case you're wondering.

How do I use it?

Regalo comes in two significant parts - there's Regalo.Core itself. This provides a bunch of interfaces and a Greg Young-inspired AggregateRoot class to derive your... aggregate roots from. You also get an event sourcing repository implementation. What's missing from that picture is the actual persistence. That's where Regalo.RavenDB (and at some point Regalo.SqlServer) come in. They provide an event store implementation.

Getting started is a case of installing one of the event store implementation packages via nuget.org e.g. install-package regalo.ravendb, then configuring a few dependencies (all Regalo libraries rely on the Dependency Inversion principle).

I'll try to build a "getting started" page on the wiki asap. In the meantime, check out http://github.com/nbarnwell/vita. This is and will continue to be the sample implementation to demonstrate Regalo usage.

Something went wrong with that request. Please try again.