are intended to be a collection of various topics, providing a playground to quickly and easily try out different concepts. They can serve as a good starting point to bring together fundamental components and create a complex application within the .NET ecosystem.
Find something you are passionate about that helps you become a better engineer: Blog post.
Playing with RabbitMQ - Discover RabbitMQ message broker. Publish messages and consuming in the background.
Playing with Wolverine and Marten - Discover Wolwerine, Marten and Event Sourcing.
Playing with MediatR - Discover a CQRS like pattern with MediatR. Global error handling. In-memory EF. AutoMapper.
Playing with SignalR - Discover the SignalR back-end. Unit and Integration test. JWT Authentication.
Playing with GenericHost - Discover the GenericHost / WorkerService and running as a Windows Service.
Playing with Authentication - Discover different authentications.
Playing with HttpClientFactory - Discover the built-in HttpClientFactory in ASP.NET Core WebAPI, using Polly to retry.
Playing with TestContainers - Discover Testcontainers and Respawn in integration test using Alba TestHost.
Playing with TestHost - Discover the built-in TestServer to write integration tests bypassing the authentication.
Playing with Refit - Discover Refit, automatic type-safe REST library in ASP.NET Core WebAPI, using Polly to retry.
Playing with gRPC - Discover the gRPC framework.
Playing with Generative AI - Discover AI solutions with Semantic Kernel and OpenAI SDK.
Playing with Dapr - Discover Dapr locally and in Azure Container Apps.
Playing with Geospatial location - Discover Geospatial location using LeafletJS, Cosmos, Mongo, Redis, Postgres.
Playing with Azure Container App - Discover Azure Container App and service invocation using the Dapr.
Playing with Azure Functions - Discover Azure Functions.
Playing with Azure Service Bus - Discover Azure Service Bus.
Playing with Azure Event Grid - Discover Azure Event Grid.
Playing with Azure Event Hubs - Discover Azure Event Hubs.
Playing with Azure CosmosDB - Discover Azure CosmosDB, CRUD operations, pagination.
Playing with Azure DevOps - Discover Azure DevOps Pipeline (YAML, ARM, PowerShell).
Playing with Azure AppInsights - Discover Azure Application Insights.
Playing with Device offline detection - Azure Functions with Durable Entities to detect online/offline devices.
Playing with Device offline detection #2 - In a simple application combining .NET Aspire, Orleans, and SignalR.
Playing with Dapper - Discover Dapper micro ORM.
Playing with MongoDB - Discover MongoDB, CRUD operations, pagination solution.
Playing with AWS SQS and SNS - Discover AWS SQS and SNS.
Playing with AWS DynamoDB - Discover AWS DynamoDB.
Playing with OpenTelemetry - Discover OpenTelemetry observability framework.
Playing with Microsoft Orleans - Discover Microsoft Orleans as an Actor Model.
Playing with Source Generator - Discover Roslyn Source Generator.
Playing with Saga pattern - Discover Saga pattern.
Playing with Hangfire - Discover Hangfire to perform background processing in .NET Core applications.
Playing with Caching - Discover caching.
Playing with BenchmarkDotNet - Discover BenchmarkDotNet. Tips and tricks to write high-performance code.
Playing with HealthChecks - Discover the new feature of HealthChecks in ASP.NET Core WebAPI.
Playing with GraphQL - Discover GraphQL for ASP.NET Core.
Playing with Rx.NET - Discover the observer design pattern with Rx.NET (Reactive Extension).
Playing with Mountebank - Discover Mountebank, open source tool to provide on-demand defined HTTP server.
Playing with Serilog - Discover Serilog in ASP.NET Core WebAPI. Read configurations from Consul.
Playing with YARP - Discover YARP reverse proxy.
Playing with Swagger - Discover the Swagger to generate documentation for Web APIs.
Playing with Distributed Lock - Discover making distributed locks using Redis.
Playing with AggregateException - Discover the AggregateException in asynchronous code.