Open Source

CleanArchitecture.Extensions

Creator and Maintainer

This project is relevant when clients need a developer who can improve architecture, not just add features.

Overview

CleanArchitecture.Extensions is an open-source NuGet ecosystem I created to extend Jason Taylor's Clean Architecture template without forking it. The goal was to add production-grade backend building blocks while preserving the template's structure and adoption path.

This project shows my architecture work at the library/package level, not only at the application level.

What The Project Needed

Teams using Clean Architecture often repeat the same cross-cutting work across projects:

The project needed these capabilities to be reusable, dependency-light, testable, and easy to adopt incrementally.

  • Logging and correlation IDs
  • Validation behavior
  • Exception mapping
  • Result handling
  • Guard clauses
  • Performance monitoring
  • Caching
  • EF Core domain-event dispatch
  • Test-friendly time abstractions

My Backend Work

I designed and built reusable .NET packages that plug into application pipelines without forcing teams to rewrite handlers or fork the template.

Key work included:

  • MediatR pipeline behaviors for logging, validation, exceptions, and performance
  • Correlation ID and trace propagation
  • Rich Result and Result<T> primitives
  • Guard clauses and deterministic error handling
  • Catalog-driven exception mapping with redaction
  • Cache-aside abstractions with deterministic cache keys
  • Stampede protection and jittered expirations
  • EF Core domain-event dispatch support
  • IClock abstractions for deterministic testing
  • Documentation, samples, SourceLink, symbols, CodeQL, and CI/CD publishing workflows

Technical Highlights

  • Backend stack: C#, .NET, MediatR, EF Core, NuGet
  • Architecture: Clean Architecture, pipeline behaviors, Result pattern, domain events
  • Reliability: redaction, stable error codes, performance thresholds, cache guards
  • Testing: deterministic clocks, in-memory contexts, package-level test coverage
  • Delivery: documentation, samples, CI/CD, SourceLink, symbols, CodeQL

Why This Project Is Relevant

This project is relevant when clients need a developer who can improve architecture, not just add features.

It is useful for clients who need:

It demonstrates that I can design reusable backend primitives that help a team write clearer and safer application code.

  • Clean Architecture adoption or cleanup
  • .NET library/package design
  • MediatR pipeline behaviors
  • Validation and exception handling
  • Result-based workflows
  • Caching patterns
  • Domain-event infrastructure
  • Production-quality reusable backend code

Project Images

More Relevant Projects