Skip to content

Instantly share code, notes, and snippets.

@rofr
Last active April 20, 2018 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rofr/7c881f18c94e63565d9ee270b0556fa5 to your computer and use it in GitHub Desktop.
Save rofr/7c881f18c94e63565d9ee270b0556fa5 to your computer and use it in GitHub Desktop.
Memstate tutorial proposal

Workshop - Memstate tutorial

In this coding intensive workshop we will build an asp.net core mvc application using a memstate backend. Focus will be on memstate specifics such as domain modeling, testing, configuration and integrating with the web application. Bring your Linux, Mac or Windows laptop and code along or sit back and enjoy the ride as Robert talks you through. The materials will be available online so you can continue later at your own pace.

Memstate introduces a radically different approach to managing state. Traditional applications pull in some data from the database, translate to internal types and structures, manipulate, translate back and save any changes made to the database. In a memstate application the data and code exist together in the same process all defined in whatever high-level .NET language you prefer. The memstate runtime will provide transparent persistence and strong consistency guarantees and lets you focus on what matters most.

Contents

  • Introduction - A quick introduction to memstate and an overview of the example application.
  • Hello world - Walking through the 10 minute quick start guide
  • Custom domain modeling - defining domain model root, entities, domain events, commands and queries.
  • Test authoring - writing unit and integration tests
  • Integrating with the ASP.NET Core web application - calling into memstate from the mvc controllers
  • Making the application reactive - subscribing to domain events and integrating with SignalR
  • Applying different runtime modes: embedded engine, embedded server, external server
  • Using different backing stores - EventStore, postgresql
  • Running with docker - building a custom docker image and running as a container

System Requirements

  • Any development environment you are comfortable with. VS2017, VS for mac, VS Code
  • .NET Core >=2.0 runtime and SDK (Run dotnet --version in your terminal/command prompt to verify)
  • Git (Run git --version in your terminal/command prompt to verify)
  • Docker (you know what to do now, right?)

Prerequisites

  • Working knowledge of C# including async/await
  • An open mind
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment