Samples demonstrating the use of Shuttle.Recall Event Sourcing and Event Processing.
A multi-project sample (Orders/Orders.slnx) showing a realistic, message-driven event-sourced service backed by SQL Server:
Orders— theOrderdomain/aggregate (Register,AddItem, raisingRegistered/ItemAddedevents).Orders.Server— a host that registersShuttle.RecallwithShuttle.Recall.SqlServer.StorageandShuttle.Recall.SqlServer.EventProcessing, and anOrderHandlerprojection that builds an EF Core read model (Orders.Data). It also wires upShuttle.Hopper(using Azure Storage Queues / Azurite) to handleCreateOrdercommands, demonstrating both eventual and immediate-consistency (WithImmediateConsistency()) saves, as well as an outbox-style failure/retry path.Orders.Client— a Terminal.Gui console client that sendsCreateOrdercommands over the bus.Orders.Data— the EF Core read-model project; see its ownREADME.mdfor migration commands.
Bring up SQL Server and Azurite (see the sample's own configuration) and run Orders.Server followed by Orders.Client.