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.
- 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
- 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?)
- Working knowledge of C# including async/await
- An open mind