F# CQRS Workshop

F#, CQRS, Akka.NET , 4 Days - 20 hours!

Starts on December 8th

Pre-Register Now

WHY LEARN THIS?

➛ CQRS Protects Your Domain:

By attending this workshop, you will gain a deep understanding of how Command Query Responsibility Segregation (CQRS) can fundamentally enhance the architecture of your applications. CQRS protects the core domain by clearly separating the command (write) side from the query (read) side, allowing you to develop and evolve each independently. This separation means that when business logic changes, you can implement those changes on the command side without impacting the read side, and vice versa. This flexibility ensures that your applications remain robust and adaptable as requirements evolve.

➛ Understand Aggregates:

Many resources discuss domain aggregates in theory, but this workshop bridges the gap between concept and practice. You'll see firsthand how to implement domain aggregates using F# and Akka.NET, creating precise aggregates that enforce business invariants and define clear transaction boundaries. This practical approach demystifies domain aggregates, providing you with the tools to apply these principles effectively in your own projects.

➛ Your Code as the Source of Truth:

Additionally, leveraging F# and Akka.NET allows us to shift the source of truth from the database into actors. This architectural choice grants you greater control over your application's state and reduces dependency on the database, leading to more resilient and maintainable systems. By utilizing the actor model, Akka.NET ensures thread safety, effectively handling concurrency without the common pitfalls associated with multi-threaded environments.

➛ Never Miss Any Data:

Furthermore, integrating event sourcing into your architecture ensures that no data is ever lost. By capturing all changes to the application state as a sequence of events, you create a comprehensive audit trail that allows you to reconstruct the state of your application at any point in time. This not only safeguards your data but also enhances the reliability and transparency of your systems.

➛ Real-Life Implementation:

Throughout the workshop, you'll engage with realistic implementations that demonstrate how these technologies work together seamlessly. This hands-on experience will equip you with the knowledge to build scalable, maintainable, and efficient applications that can handle complex business logic with ease.

CQRS Diagram

Who Should Attend

  • All Level of F# Developers
  • Aspiring Software Architects
  • Developers Interested in CQRS and Functional Programming
  • Anyone Looking to Build Scalable Web Application
CQRS Diagram
Event Command Lifecycle

Agenda

  • Setting Up Development Environment with Dev Containers
  • Effectively Using Paket and Fake
  • Introduction to Giraffe
  • Domain-Driven Design Concepts: Aggregates and Sagas
  • Building a Real-Life Application with CQRS and Akka.NET
  • Authenticating Your Users with Microsoft and Gmail Accounts
  • Effective Debugging with F#
CQRS Diagram
Aggregate interaction

Testimonials

The workshop was a condensed grouping of simple but very powerful modeling techniques. We could see how to wire complex technologies in a meaningful and flexible architecture, that's built for scaling from the ground up while we still maintaining the code semantics. That will highly impact my future architectural decisions for sure.

Jessé Junior

I attended a brilliant workshop hosted by Onur where he covered a huge amount of material including CQRS/ES architecture, back-end & front-end FSharp development stacks.

Darran, Principal Software Developer

If you have been doing some F# before as a side interest and have never seen how a real-life project looks like in F#, this is a place where you will get a full dive into the topic.

Stanislau Niadbailau

The content of this course was very interesting: Onur has brought disparate F# technologies together and made a promising web stack from them. There's plenty for a SAFE Stack enthusiast like me to explore further!

Matt Gallagher, Consultant, Compositional IT

The workshop was a condensed grouping of simple but very powerful modeling techniques. We could see how to wire complex technologies in a meaningful and flexible architecture, that's built for scaling from the ground up while we still maintaining the code semantics. That will highly impact my future architectural decisions for sure.

Jessé Junior

I attended a brilliant workshop hosted by Onur where he covered a huge amount of material including CQRS/ES architecture, back-end & front-end FSharp development stacks.

Darran, Principal Software Developer

If you have been doing some F# before as a side interest and have never seen how a real-life project looks like in F#, this is a place where you will get a full dive into the topic.

Stanislau Niadbailau

The content of this course was very interesting: Onur has brought disparate F# technologies together and made a promising web stack from them. There's plenty for a SAFE Stack enthusiast like me to explore further!

Matt Gallagher, Consultant, Compositional IT
CQRS Diagram
Your first actor