main 45708a314449 cached
302 files
976.9 KB
263.3k tokens
5 symbols
1 requests
Download .txt
Showing preview only (1,053K chars total). Download the full file or copy to clipboard to get everything.
Repository: mehdihadeli/awesome-software-architecture
Branch: main
Commit: 45708a314449
Files: 302
Total size: 976.9 KB

Directory structure:
gitextract_ywb1khq9/

├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       └── ci.yml
├── .gitignore
├── LICENSE
├── Program.cs
├── README.md
├── ReleaseNotes.csproj
├── contributing.md
├── docs/
│   ├── README.md
│   ├── abstraction.md
│   ├── actor-model-architecture/
│   │   ├── actor-model-architecture.md
│   │   ├── akka-net.md
│   │   ├── orleans.md
│   │   └── protoactor.md
│   ├── ai/
│   │   ├── a2a.md
│   │   ├── agent-framework.md
│   │   ├── agent.md
│   │   ├── ai.md
│   │   ├── code-assistants.md
│   │   ├── embedding-vector.md
│   │   ├── langchain.md
│   │   ├── llms.md
│   │   ├── mcp.md
│   │   ├── ml.net.md
│   │   ├── models/
│   │   │   ├── hugging-face.md
│   │   │   ├── models.md
│   │   │   ├── ollama.md
│   │   │   ├── openai.md
│   │   │   └── phi.md
│   │   ├── prompt-engineering.md
│   │   ├── rag.md
│   │   └── semantic-kernel.md
│   ├── algorithm.md
│   ├── anti-patterns/
│   │   ├── anti-patterns.md
│   │   ├── big-ball-of-mud.md
│   │   ├── code-smells.md
│   │   ├── god-object.md
│   │   ├── leaky-abstractions.md
│   │   ├── partial-object.md
│   │   └── static-cling.md
│   ├── architectural-design-principles/
│   │   ├── architectural-design-principles.md
│   │   ├── cap.md
│   │   ├── cohesion.md
│   │   ├── coupling.md
│   │   ├── cqs.md
│   │   ├── cross-cutting-concerns.md
│   │   ├── dependency-inversion.md
│   │   ├── dry.md
│   │   ├── encapsulation.md
│   │   ├── fail-fast.md
│   │   ├── favor-composition-over-inheritance.md
│   │   ├── grasp.md
│   │   ├── interface-segregation.md
│   │   ├── inversion-control.md
│   │   ├── kiss.md
│   │   ├── open-closed-principles.md
│   │   ├── persistence-ignorance.md
│   │   ├── single-responsibility.md
│   │   ├── solid.md
│   │   └── yagni.md
│   ├── architecture-documententation.md
│   ├── azure/
│   │   ├── aks.md
│   │   ├── azure-api-management.md
│   │   ├── azure-app-service-plan.md
│   │   ├── azure-app-service.md
│   │   ├── azure-arc.md
│   │   ├── azure-cloud.md
│   │   ├── azure-configuration.md
│   │   ├── azure-functions.md
│   │   ├── azure-load-balancing.md
│   │   ├── azure-logic-app.md
│   │   ├── azure-resource-manager.md
│   │   ├── azure-resource.md
│   │   ├── azure-security/
│   │   │   ├── azure-active-directory.md
│   │   │   └── azure-key-vault.md
│   │   ├── azure-sql.md
│   │   ├── index.md
│   │   ├── messaging/
│   │   │   ├── azure-event-grid.md
│   │   │   ├── azure-event-hub.md
│   │   │   ├── azure-queue.md
│   │   │   ├── azure-service-bus.md
│   │   │   ├── azure-web-pub-sub.md
│   │   │   └── messaging.md
│   │   ├── nosql/
│   │   │   ├── azure-nosql.md
│   │   │   └── cosmosdb.md
│   │   ├── service-fabric.md
│   │   └── storage/
│   │       ├── blob.md
│   │       ├── file.md
│   │       ├── queue.md
│   │       ├── storage.md
│   │       └── table.md
│   ├── back-pressure.md
│   ├── caching.md
│   ├── clean-architecture.md
│   ├── clean-code.md
│   ├── cloud-best-practices.md
│   ├── cloud-design-patterns/
│   │   ├── ambassador-pattern.md
│   │   ├── anti-corruption-layer-pattern.md
│   │   ├── bff.md
│   │   ├── bulkhead-pattern.md
│   │   ├── circuit-breaker.md
│   │   ├── cloud-design-patterns.md
│   │   ├── exactly-one-delivery.md
│   │   ├── gateway-aggregation.md
│   │   ├── gateway-pattern.md
│   │   ├── inbox-pattern.md
│   │   ├── outbox-pattern.md
│   │   ├── sidecar.md
│   │   └── strangler-fig-pattern.md
│   ├── cloud-native.md
│   ├── code-review.md
│   ├── concurrency.md
│   ├── cqrs.md
│   ├── data-driven-design.md
│   ├── database/
│   │   ├── nosql/
│   │   │   ├── cosmosdb.md
│   │   │   ├── documentdb.md
│   │   │   ├── mongodb.md
│   │   │   ├── nosql.md
│   │   │   └── ravendb.md
│   │   ├── relational/
│   │   │   ├── postgres.md
│   │   │   ├── relational-database.md
│   │   │   └── sql.md
│   │   ├── replication.md
│   │   └── sharding.md
│   ├── design-best-practices/
│   │   ├── 12-factor.md
│   │   ├── design-best-practices.md
│   │   └── thin-controllers.md
│   ├── design-patterns/
│   │   ├── adapter-pattern.md
│   │   ├── builder.md
│   │   ├── chain-of-responsibility.md
│   │   ├── command-message-pattern.md
│   │   ├── command-pattern.md
│   │   ├── decorator-pattern.md
│   │   ├── design-patterns.md
│   │   ├── factory-pattern.md
│   │   ├── mediator-pattern.md
│   │   ├── observer.md
│   │   ├── query-object-pattern.md
│   │   ├── repository-pattern.md
│   │   ├── repr.md
│   │   ├── service-locator.md
│   │   ├── singleton.md
│   │   ├── specification-pattern.md
│   │   ├── state-pattern.md
│   │   ├── strategy-pattern.md
│   │   └── transaction-script-pattern.md
│   ├── devops/
│   │   ├── ci-cd/
│   │   │   ├── azure-devops.md
│   │   │   ├── github-actions.md
│   │   │   └── jenkins.md
│   │   ├── containerd.md
│   │   ├── docker/
│   │   │   ├── docker-compose.md
│   │   │   └── docker.md
│   │   ├── gitops.md
│   │   ├── kubernetes/
│   │   │   ├── debuging-development.md
│   │   │   ├── deployment-strategies.md
│   │   │   ├── deployment-tools/
│   │   │   │   ├── argo-cd.md
│   │   │   │   ├── flux.md
│   │   │   │   ├── helm.md
│   │   │   │   ├── jenkins.md
│   │   │   │   ├── kubernetes-operator.md
│   │   │   │   └── kustomize.md
│   │   │   ├── ingress-controller/
│   │   │   │   ├── ingress-controller.md
│   │   │   │   ├── nginx-ingress.md
│   │   │   │   └── traefik-ingress.md
│   │   │   ├── kubernetes.md
│   │   │   ├── other-tools/
│   │   │   │   ├── garden.md
│   │   │   │   ├── k3s.md
│   │   │   │   ├── mirrord.md
│   │   │   │   ├── okteto.md
│   │   │   │   ├── skaffold.md
│   │   │   │   ├── telepresence.md
│   │   │   │   └── tilt.md
│   │   │   └── services.md
│   │   └── terminal/
│   │       ├── bash.md
│   │       └── powershell.md
│   ├── distributed-locking.md
│   ├── distributed-transactions.md
│   ├── domain-driven-design/
│   │   ├── aggregation.md
│   │   ├── anemic-domain-model.md
│   │   ├── application-service.md
│   │   ├── bounded-context.md
│   │   ├── domain-driven-design.md
│   │   ├── domain-events.md
│   │   ├── domain-primitives.md
│   │   ├── domain-service.md
│   │   ├── domain.md
│   │   ├── enums.md
│   │   ├── exception-and-validation.md
│   │   ├── infrastructure.md
│   │   ├── integration-event.md
│   │   ├── mapping.md
│   │   ├── orm/
│   │   │   └── ef.md
│   │   ├── rich-domain-model.md
│   │   ├── strategic-design-patterns.md
│   │   ├── tactical-design-patterns.md
│   │   └── value-objects.md
│   ├── event-driven-architecture.md
│   ├── event-sourcing.md
│   ├── eventual-consistency.md
│   ├── functional.md
│   ├── grpc.md
│   ├── hexagonal-architecture.md
│   ├── iaas/
│   │   ├── ansible.md
│   │   ├── iaas.md
│   │   ├── nomad.md
│   │   ├── pulumi.md
│   │   └── terraform.md
│   ├── ids.md
│   ├── messaging/
│   │   ├── async-api-documentation.md
│   │   ├── change-data-capture.md
│   │   ├── kafka.md
│   │   ├── messaging-patterns.md
│   │   ├── messaging.md
│   │   ├── nats.md
│   │   ├── rabbitmq.md
│   │   └── zeromq.md
│   ├── micro-frontend.md
│   ├── microservices/
│   │   ├── api-gateway/
│   │   │   ├── ambassador.md
│   │   │   ├── api-gateway.md
│   │   │   ├── kong.md
│   │   │   └── ocelot.md
│   │   ├── communication.md
│   │   ├── composite-ui.md
│   │   ├── microservices.md
│   │   ├── observability/
│   │   │   ├── correlationId.md
│   │   │   ├── diagnostics.md
│   │   │   ├── distributed-tracing.md
│   │   │   ├── logging.md
│   │   │   ├── monitoring.md
│   │   │   ├── observability.md
│   │   │   └── tools/
│   │   │       ├── efk.md
│   │   │       ├── elk.md
│   │   │       ├── fluent-bit.md
│   │   │       ├── fluentd.md
│   │   │       └── loki.md
│   │   ├── resiliency/
│   │   │   ├── high-availibility.md
│   │   │   ├── idempotency.md
│   │   │   └── resiliency.md
│   │   ├── security/
│   │   │   ├── security.md
│   │   │   └── vault.md
│   │   ├── services-boundries.md
│   │   ├── testing.md
│   │   └── tools/
│   │       ├── aspire.md
│   │       ├── cap.md
│   │       ├── dapr.md
│   │       ├── mass-transit.md
│   │       ├── nservicebus.md
│   │       ├── steeltoe.md
│   │       ├── tye.md
│   │       └── wolverine.md
│   ├── modeling/
│   │   ├── architecture-diagram.md
│   │   ├── class-diagram.md
│   │   ├── component-diagram.md
│   │   ├── conceptual-modeling.md
│   │   ├── data-model-notations.md
│   │   ├── domain-stroytelling.md
│   │   ├── er-diagrams.md
│   │   ├── event-modeling.md
│   │   ├── event-storming.md
│   │   ├── index.md
│   │   ├── logical-modeling.md
│   │   ├── modeling.md
│   │   ├── physical-modeling.md
│   │   ├── relationship.md
│   │   ├── tools.md
│   │   └── use-case-diagram.md
│   ├── modular-monolith.md
│   ├── object-oriented-design.md
│   ├── onion-architecture.md
│   ├── open-source.md
│   ├── others.md
│   ├── paas/
│   │   ├── heroku.md
│   │   ├── netlify.md
│   │   ├── openshift.md
│   │   └── rancher.md
│   ├── refactoring.md
│   ├── rest.md
│   ├── reverse-proxy-lb/
│   │   ├── envoy.md
│   │   ├── fabio.md
│   │   ├── haproxy.md
│   │   ├── load-balancing.md
│   │   ├── metallb.md
│   │   ├── nginx.md
│   │   ├── reverse-proxy.md
│   │   ├── traefik.md
│   │   └── yarp.md
│   ├── scaling.md
│   ├── serverless.md
│   ├── service-discovery/
│   │   ├── consul.md
│   │   ├── eureka.md
│   │   └── service-discovery.md
│   ├── service-mesh/
│   │   ├── istio.md
│   │   ├── linkerd.md
│   │   ├── maesh.md
│   │   └── service-mesh.md
│   ├── service-oriented-architecture.md
│   ├── software-architecture.md
│   ├── systems-design/
│   │   ├── consistent-hash.md
│   │   └── systems-design.md
│   ├── type-driven-design.md
│   └── vertical-slice-architecture.md
└── mkdocs.yml

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================



================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on:
  push:
    branches:
      - main
jobs:

  link-check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: gaurav-nelson/github-action-markdown-link-check@v1
    
  build:
    name: Deploy docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout master
        uses: actions/checkout@v2

      #https://github.com/mhausenblas/mkdocs-deploy-gh-pages
      - name: Deploy MkDocs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master
        env:
          GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
          CUSTOM_DOMAIN: awesome-architecture.com

================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Mono auto generated files
mono_crash.*

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# Visual Studio 2017 auto generated files
Generated\ Files/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# Benchmark Results
BenchmarkDotNet.Artifacts/

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Reecommerce
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

AppPackages/
BundleArtifacts/
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# SQL Server files
*.mdf
*.ldf
*.ndf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# CodeRush personal settings
.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# Azure Stream Analytics local run output
ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/

# Local History for Visual Studio
.localhistory/

# BeatPulse healthcheck temp database
healthchecksdb

# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/

.tye/
.logs/
.Log

out/
**/.vagrant/
.idea/
local/data/
portainer-data/
docker.sock/
localtime/
coveragereport/
CoverageResults/
coverage.cobertura.xml
coverage.info

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

# exclude sensitive env files
.env
.env.dev
.denv.prod
.env.catalogs
.env.customers
.env.identity

# exclude keys directory
keys/

================================================
FILE: LICENSE
================================================
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.


================================================
FILE: Program.cs
================================================
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text.RegularExpressions;

class Program
{
    static readonly Regex SectionRegex = new(@"^\+\s*##\s+(.*)");
    static readonly Regex ItemRegex = new(@"^[+-]\s*-\s*(.*)");

    static void Main(string[] args)
    {
        // Default: last commit
        string commitRange = args.Length > 0 ? args[0] : "HEAD~1..HEAD";

        var diffLines = RunGitDiff(commitRange);
        var notes = ParseDiff(diffLines);

        PrintReleaseNotes(notes);
    }

    static List<string> RunGitDiff(string range)
    {
        var process = new Process
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "git",
                Arguments = $"diff {range}",
                RedirectStandardOutput = true,
                UseShellExecute = false,
                CreateNoWindow = true
            }
        };

        process.Start();

        var lines = new List<string>();
        while (!process.StandardOutput.EndOfStream)
        {
            lines.Add(process.StandardOutput.ReadLine()!);
        }

        process.WaitForExit();
        return lines;
    }

    static Dictionary<string, Dictionary<string, Dictionary<string, List<string>>>> ParseDiff(
        List<string> lines)
    {
        var notes = new Dictionary<string, Dictionary<string, Dictionary<string, List<string>>>>();

        string? currentFile = null;
        string? currentSection = null;

        foreach (var line in lines)
        {
            if (line.StartsWith("diff --git"))
            {
                currentFile = null;
                currentSection = null;
                continue;
            }

            if (line.StartsWith("+++ b/") && line.EndsWith(".md"))
            {
                currentFile = line.Replace("+++ b/", "");
                notes.TryAdd(currentFile, new());
                continue;
            }

            if (currentFile != null && SectionRegex.IsMatch(line))
            {
                currentSection = SectionRegex.Match(line).Groups[1].Value;
                notes[currentFile].TryAdd(currentSection, new());
                continue;
            }

            if (currentFile != null && currentSection != null && ItemRegex.IsMatch(line))
            {
                var item = ItemRegex.Match(line).Groups[1].Value;
                var changeType = line.StartsWith("+") ? "Added" : "Removed";

                if (!notes[currentFile][currentSection].ContainsKey(changeType))
                {
                    notes[currentFile][currentSection][changeType] = new();
                }

                notes[currentFile][currentSection][changeType].Add(item);
            }
        }

        return notes;
    }

    static void PrintReleaseNotes(
        Dictionary<string, Dictionary<string, Dictionary<string, List<string>>>> notes)
    {
        foreach (var file in notes)
        {
            var title = System.IO.Path.GetFileNameWithoutExtension(file.Key)
                .Replace("-", " ");
            title = char.ToUpper(title[0]) + title[1..];

            Console.WriteLine($"\n## {title}\n");

            foreach (var section in file.Value)
            {
                Console.WriteLine($"### {section.Key}");

                foreach (var change in section.Value)
                {
                    Console.WriteLine($"**{change.Key}**");
                    foreach (var item in change.Value)
                    {
                        Console.WriteLine($"- {item}");
                    }
                }
                Console.WriteLine();
            }
        }
    }
}


================================================
FILE: README.md
================================================
<p align="center">
  <img src="banner.png" height="400">
  <h1 align="center">
   Awesome Software Architecture
    <br>
    <a href="https://github.com/mehdihadeli/awesome-software-architecture/actions/workflows/ci.yml"><img alt="build-status" src="https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square" /></a>
    <a href="https://github.com/sindresorhus/awesome" ><img alt="awesome" src="https://awesome.re/badge-flat2.svg?style=flat-square" /></a>
    <a href="https://github.com/mehdihadeli/awesome-software-architecture/blob/main/LICENSE" ><img alt="license" src="https://img.shields.io/badge/License-CC0_1.0-E91E63.svg?style=flat-square" /></a>
  </h1>
</p>

> Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. This repository will be updated continuously, keep yourself up to date .

I created this repository to share a set of links that I found valuable and inspiring and I share them with others to improve our knowledge together ✌️.

> **🚀 Go ahead to the official web page here:** > **🌐 [https://awesome-architecture.com](https://awesome-architecture.com/)**

---

## Contents

- [Contents](#contents)
  - [Software Architecture](#software-architecture)
  - [Actor Model Architecture](#actor-model-architecture)
  - [Algorithms](#algorithms)
  - [AI](#ai)
  - [Clean Architecture](#clean-architecture)
  - [Onion Architecture](#onion-architecture)
  - [Hexagonal Architecture](#hexagonal-architecture)
  - [Vertical Slice Architecture](#vertical-slice-architecture)
  - [Event Driven Architecture](#event-driven-architecture)
  - [Service Oriented Architecture](#service-oriented-architecture)
  - [Domain Driven Design](#domain-driven-design)
  - [Data Driven Design](#data-driven-design)
  - [CQRS](#cqrs)
  - [Microservices](#microservices)
  - [Modular Monolith](#modular-monolith)
  - [Architectural Design Principles](#architectural-design-principles)
  - [Design Patterns](#design-patterns)
  - [Cloud Design Patterns](#cloud-design-patterns)
  - [Cloud Best Practices](#cloud-best-practices)
  - [Cloud Native](#cloud-native)
  - [Platform as a Service](#platform-as-a-service)
  - [Infrastructure as a Service](#infrastructure-as-a-service)
  - [DevOps](#devops)
  - [Reverse Proxy - Load Balancing](#reverse-proxy---load-balancing)
  - [Service Discovery And Registry](#service-discovery-and-registry)
  - [Service Mesh](#service-mesh)
  - [Object Oriented Design](#object-oriented-design)
  - [Systems Design](#systems-design)
  - [Scaling](#scaling)
  - [Back Pressure](#back-pressure)
  - [Clean Code](#clean-code)
  - [Abstraction](#abstraction)
  - [Design Best Practices](#design-best-practices)
  - [Anti Patterns](#anti-patterns)
  - [Eventual Consistency](#eventual-consistency)
  - [Messaging](#messaging)
  - [Distributed Transactions](#distributed-transactions)
  - [Distributed Locking](#distributed-locking)
  - [Eventual Consistency](#eventual-consistency-1)
  - [RESTful API Design](#restful-api-design)
  - [gRPC](#grpc)
  - [Caching](#caching)
  - [Functional Programming](#functional-programming)
  - [Concurrency](#concurrency)
  - [Sharding](#sharding)
  - [Refactoring](#refactoring)
  - [Database](#database)
  - [Relational Database](#relational-database)
  - [Microsoft Azure Cloud](#microsoft-azure-cloud)
  - [Modeling](#modeling)
  - [Open Source](#open-source)
  - [Code Review](#code-review)
  - [Micro-Frontend](#micro-frontend)
  - [Others](#others)
- [🙏 Special Thanks](#-special-thanks)
- [⭐ Support](#-support)
- [🤝 Contribution](#-contribution)

> **Note**: Bellow contents is not complete yet and it's in progress, and I will complete the **descriptions** over the time, but you are feel free to [contribute](contributing.md) this part.

### Software Architecture

|                         Topic                          | Description                                                                                                                                 |
| :----------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------ |
| [Software Architecture](docs/software-architecture.md) | Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. |

### Actor Model Architecture

|                                         Topic                                         | Description                                                                                                                                                                                                                    |
| :-----------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Actor Model Architecture](docs/actor-model-architecture/actor-model-architecture.md) | The Actor Model is a programming paradigm in which the basic unit of execution is the actor. In the Actor Model, an actor does work by using messages to express actions upon a system or other actors within the given system |
|                [Akka .NET](docs/actor-model-architecture/akka-net.md)                 | Akka.NET is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET.                                                                                           |
|             [Microsoft Orleans](docs/actor-model-architecture/orleans.md)             | Orleans is a cross-platform framework for building robust, scalable distributed applications.                                                                                                                                  |
|               [ProtoActor](docs/actor-model-architecture/protoactor.md)               | Ultra fast distributed actors for Go, C# and Java/Kotlin.                                                                                                                                                                      |

### Algorithms

|              Topic              | Description                                                                         |
| :-----------------------------: | :---------------------------------------------------------------------------------- |
| [Algorithms](docs/algorithm.md) | An algorithm is a procedure used for solving a problem or performing a computation. |

### AI

|           Topic            | Description                          |
| :------------------------: | :----------------------------------- |
|    [AI](docs/ai/ai.md)     | Artificial intelligence topics       |
| [AI - RAG](docs/ai/rag.md) | Retrieval-Augmented Generation (RAG) |

### Clean Architecture

|                      Topic                       | Description                                                                                                                                                                                             |
| :----------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Clean Architecture](docs/clean-architecture.md) | The Clean Architecture is the system architecture guideline proposed by Robert C. Martin (Uncle Bob) derived from many architectural guidelines like Hexagonal Architecture, Onion Architecture, etc... |

### Onion Architecture

|                      Topic                       | Description                                                                                                                                              |
| :----------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Onion Architecture](docs/onion-architecture.md) | The Onion architecture, introduced by Jeffrey Palermo, and it is a form of layered architecture and we can visualize these layers as concentric circles. |

### Hexagonal Architecture

|                          Topic                           | Description                                                                                                                                                                                                                                                                                                                  |
| :------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Hexagonal Architecture](docs/hexagonal-architecture.md) | The Hexagonal Architecture or Ports and Adapters architecture, introduced by Alistair Cockburn and it's an architectural pattern that allows input by users or external systems to arrive into the Application at a Port via an Adapter, and allows output to be sent out from the Application through a Port to an Adapter. |

### Vertical Slice Architecture

|                               Topic                                | Description                                                                                                                                                      |
| :----------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Vertical Slice Architecture](docs/vertical-slice-architecture.md) | The vertical slice architecture is a technique that helps us build maintainable applications by separating the application around features or `vertical slices`. |

### Event Driven Architecture

|                             Topic                              | Description                                                                                                                                                    |
| :------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Event Driven Architecture](docs/event-driven-architecture.md) | Event-driven architecture is a software design pattern in which decoupled applications can asynchronously publish and subscribe to events via an event broker. |

### Service Oriented Architecture

|                                 Topic                                  | Description                                                                                                                                                                                                                                                                                                                                                |
| :--------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Service Oriented Architecture](docs/service-oriented-architecture.md) | Service Oriented Architecture (SOA) is a software architecture design pattern in which application components provide services to other components using a communication protocol over a network. SOA aims to achieve loose coupling between software components, allowing them to be easily replaced or updated without affecting the rest of the system. |

### Domain Driven Design

|                                        Topic                                        | Description                                                                                                                                                                                                                             |
| :---------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|      [Domain Driven Design](docs/domain-driven-design/domain-driven-design.md)      | The key concepts and principles of Domain Driven Design, which emphasizes the importance of building a software system around a shared understanding of the business domain and the use of ubiquitous language.                         |
|             [Value Objects](docs/domain-driven-design/value-objects.md)             | The concept of value objects in Domain Driven Design, which are immutable objects that represent a concept or measurement and are characterized by their value, rather than their identity.                                             |
|               [Aggregation](docs/domain-driven-design/aggregation.md)               | The concept of aggregation in Domain Driven Design, which is a way of grouping objects together to form a logical unit that can be treated as a single entity.                                                                          |
|       [Anemic Domain Model](docs/domain-driven-design/anemic-domain-model.md)       | The Anemic Domain Model anti-pattern in Domain Driven Design, which refers to a model where the domain objects contain little or no behavior and the business logic is instead implemented in separate services.                        |
|         [Rich Domain Model](docs/domain-driven-design/rich-domain-model.md)         | The Rich Domain Model pattern in Domain Driven Design, which advocates for placing behavior and business logic in the domain objects themselves, rather than in separate services.                                                      |
|                 [Domain Model](docs/domain-driven-design/domain.md)                 | The Domain Model concept in Domain Driven Design, which is a representation of the core concepts, entities, and relationships that make up a business domain.                                                                           |
|            [Domain Service](docs/domain-driven-design/domain-service.md)            | The Domain Service concept in Domain Driven Design, which is a stateless, transactional operation that performs a business task and is not associated with any specific entity.                                                         |
|       [Application Service](docs/domain-driven-design/application-service.md)       | The Application Service concept in Domain Driven Design, which is responsible for coordinating the execution of multiple domain services to achieve a higher-level business goal.                                                       |
|             [Domain Events](docs/domain-driven-design/domain-events.md)             | The Domain Events concept in Domain Driven Design, which are messages that represent a significant occurrence within the business domain and can be used to trigger downstream processes or updates to other systems.                   |
|        [Integration Events](docs/domain-driven-design/integration-event.md)         | The Integration Events concept in Domain Driven Design, which are messages that represent a significant occurrence in the context of an external system and can be used to trigger downstream processes or updates to the local system. |
|           [Bounded Context](docs/domain-driven-design/bounded-context.md)           | The Bounded Context concept in Domain Driven Design, which is a way of dividing a large, complex business domain into smaller, more manageable parts that are defined by a common language, context, and set of boundaries.             |
|            [Infrastructure](docs/domain-driven-design/infrastructure.md)            | The Infrastructure concept in Domain Driven Design, which includes all the components and systems that support the operation of the application, such as databases, message brokers, and third-party services.                          |
|  [Tactical Design Patterns](docs/domain-driven-design/tactical-design-patterns.md)  | The Tactical Design Patterns in Domain Driven Design, which are recurring solutions to common problems that arise when building domain models, services, and repositories.                                                              |
| [Strategic Design Patterns](docs/domain-driven-design/strategic-design-patterns.md) | The Strategic Design Patterns in Domain Driven Design, which are high-level principles and patterns that guide the overall architecture and organization of a large, complex software system.                                           |
|                  [Mappings](docs/domain-driven-design/mapping.md)                   | The concept of mappings in Domain Driven Design, which are the mechanisms used to transform data between the domain model and other parts of the system, such as the database or user interface.                                        |
|         [Domain Primitives](docs/domain-driven-design/domain-primitives.md)         | The Domain Primitives concept in Domain Driven Design, which are simple, immutable value types that represent basic concepts in the domain, such as dates, times, and quantities.                                                       |
|                     [Enum](docs/domain-driven-design/enums.md)                      | The Enum concept in Domain Driven Design, which is a special type of domain primitive that represents a discrete set of values.                                                                                                         |
|  [Exception and Validation](docs/domain-driven-design/exception-and-validation.md)  | The concepts of exception handling and validation in Domain Driven Design, which are important mechanisms for ensuring the correctness and robustness of the application.                                                               |

### Data Driven Design

|                      Topic                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| :----------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Data Driven Design](docs/data-driven-design.md) | Data-Driven Design is a software development methodology that emphasizes the use of data and analytics to inform design decisions. It involves collecting, analyzing, and using data to create and improve software products, services, and experiences. This approach relies on empirical evidence to guide design choices, and it requires a strong data infrastructure and analytics capabilities. Data-Driven Design can help organizations create more effective, efficient, and user-friendly products and services by making informed decisions based on real-world data. It can also lead to better customer engagement, increased revenue, and improved user satisfaction. |

### CQRS

|        Topic         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| :------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CQRS](docs/cqrs.md) | CQRS (Command Query Responsibility Segregation) is a design pattern that separates the concerns of command execution and data querying in a system. The basic idea behind CQRS is to split the application model into two separate models: one for reading data and another for writing data. This allows the two models to be optimized for their specific purposes, and provides benefits such as better scalability, performance, and maintainability. The CQRS pattern is often used in conjunction with event sourcing, which is a technique for capturing all changes to an application state as a sequence of events. Together, CQRS and event sourcing can provide a powerful way to build highly scalable and fault-tolerant systems. |

### Microservices

|                                             Topic                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| :--------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                      [Microservices](docs/microservices/microservices.md)                      | A brief introduction to the concept of microservices, including their benefits and drawbacks, as well as common characteristics of microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|                      [Communication](docs/microservices/communication.md)                      | An overview of the different communication patterns and protocols that can be used in microservices architecture, such as synchronous vs. asynchronous communication, REST vs. message-based communication, and the use of service buses.                                                                                                                                                                                                                                                                                                                                                                |
|                       [Composite UI](docs/microservices/composite-ui.md)                       | A discussion of the Composite UI pattern, which involves combining multiple microservices into a single user interface, and the different approaches to implementing it, such as server-side composition vs. client-side composition.                                                                                                                                                                                                                                                                                                                                                                    |
|                 [Service Boundaries](docs/microservices/services-boundries.md)                 | An exploration of how to define and enforce service boundaries in microservices architecture, including strategies for identifying service boundaries and techniques for implementing them, such as domain-driven design and bounded contexts.                                                                                                                                                                                                                                                                                                                                                           |
|                            [Testing](docs/microservices/testing.md)                            | A guide to testing microservices, including strategies for testing individual services and testing the interactions between services, as well as tools and frameworks for testing microservices.                                                                                                                                                                                                                                                                                                                                                                                                         |
|                  [API Gateway](docs/microservices/api-gateway/api-gateway.md)                  | An introduction to the concept of an API Gateway, which acts as a single entry point for clients to access multiple microservices, and the benefits and drawbacks of using an API Gateway.                                                                                                                                                                                                                                                                                                                                                                                                               |
|            [API Gateway - Ambassador](docs/microservices/api-gateway/ambassador.md)            | A specific implementation of an API Gateway using the Ambassador open-source project, including an overview of its features and how to configure and deploy it.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                  [API Gateway - Kong](docs/microservices/api-gateway/kong.md)                  | A specific implementation of an API Gateway using the Kong open-source project, including an overview of its features and how to configure and deploy it.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|                [API Gateway - Ocelot](docs/microservices/api-gateway/ocelot.md)                | A specific implementation of an API Gateway using the Ocelot open-source project, including an overview of its features and how to configure and deploy it.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|               [Observability](docs/microservices/observability/observability.md)               | An exploration of the concept of observability in microservices architecture, which involves the ability to monitor and debug distributed systems, and the different techniques and tools for achieving observability, such as logging, tracing, health checks ,and monitoring.                                                                                                                                                                                                                                                                                                                          |
| [Observability - Distributed Tracing](docs/microservices/observability/distributed-tracing.md) | A deep dive into the use of distributed tracing as a tool for achieving observability in microservices architecture, including an overview of how distributed tracing works, common tracing frameworks, and how to instrument microservices for tracing.                                                                                                                                                                                                                                                                                                                                                 |
|          [Observability - Monitoring](docs/microservices/observability/monitoring.md)          | An overview of the different types of monitoring that can be used in microservices architecture, such as system monitoring, application monitoring, and business monitoring, and the different tools and approaches for monitoring microservices.                                                                                                                                                                                                                                                                                                                                                        |
|         [Observability - Diagnostics](docs/microservices/observability/diagnostics.md)         | An overview of the different techniques and tools for diagnosing and debugging issues in microservices architecture, including log analysis.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|             [Observability - Logging](docs/microservices/observability/logging.md)             | Logging is an important aspect of observability in microservices architecture. This topic covers different logging frameworks and strategies used for monitoring and troubleshooting distributed systems.                                                                                                                                                                                                                                                                                                                                                                                                |
|       [Observability - CorrelationId](docs/microservices/observability/correlationId.md)       | Correlation ID is a technique used to track requests across multiple microservices. This topic explains what Correlation ID is and how it is implemented in a distributed system.                                                                                                                                                                                                                                                                                                                                                                                                                        |
|          [Observability - Tools - EFK](docs/microservices/observability/tools/efk.md)          | EFK stack (Elasticsearch, Fluentd, and Kibana) is a popular logging and observability solution. This topic covers the basics of EFK, how it works, and how to set it up in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                                 |
|          [Observability - Tools - ELK](docs/microservices/observability/tools/elk.md)          | ELK stack (Elasticsearch, Logstash, and Kibana) is another popular logging and observability solution. This topic covers the basics of ELK, how it works, and how to set it up in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                          |
|   [Observability - Tools - Fluent Bit](docs/microservices/observability/tools/fluent-bit.md)   | Fluent Bit is a lightweight and efficient log processor and forwarder. This topic covers the basics of Fluent Bit, how it works, and how to set it up in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                                                   |
|      [Observability - Tools - FluentD](docs/microservices/observability/tools/fluentd.md)      | Fluentd is an open-source log collector and aggregator. This topic covers the basics of Fluentd, how it works, and how to set it up in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|         [Observability - Tools - Loki](docs/microservices/observability/tools/loki.md)         | Loki is a horizontally-scalable, highly-available log aggregation system. This topic covers the basics of Loki, how it works, and how to set it up in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                                                                      |
|                   [Resiliency](docs/microservices/resiliency/resiliency.md)                    | Resiliency is the ability of a system to recover from failures and continue functioning. This topic covers different resiliency patterns and strategies used for building fault-tolerant microservices.                                                                                                                                                                                                                                                                                                                                                                                                  |
|            [Resiliency - Idempotency](docs/microservices/resiliency/idempotency.md)            | Idempotency is a technique used to ensure that an operation can be safely retried without causing unintended effects. This topic explains what idempotency is and how it can be implemented in a microservices architecture.                                                                                                                                                                                                                                                                                                                                                                             |
|      [Resiliency - High Availability](docs/microservices/resiliency/high-availibility.md)      | High availability is a property of a system that ensures it remains operational even in the face of hardware or software failures. This topic covers different high availability patterns and strategies used for building fault-tolerant microservices.                                                                                                                                                                                                                                                                                                                                                 |
|                      [Security](docs/microservices/security/security.md)                       | Security is a critical aspect of any distributed system. This topic covers different security challenges and strategies used for securing microservices.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|                  [Security - Key Vault](docs/microservices/security/vault.md)                  | A key vault is a secure storage location for storing cryptographic keys, certificates, and secrets used by a microservices architecture. This topic explains what a key vault is and how to use it to securely manage sensitive data in a microservices                                                                                                                                                                                                                                                                                                                                                  |
|                         [Tools - CAP](docs/microservices/tools/cap.md)                         | CAP (short for "CAPability") is a distributed transaction solution for microservices that is based on the idea of eventual consistency. It provides an event bus with an Outbox pattern, which allows you to publish messages/events to multiple microservices in a reliable and transactional way. CAP is written in .NET Core                                                                                                                                                                                                                                                                          |
|                        [Tools - Dapr](docs/microservices/tools/dapr.md)                        | Dapr (Distributed Application Runtime) is an open-source framework for building microservices-based applications. It provides a set of building blocks, such as state management, pub/sub messaging, and service-to-service invocation, that help developers to focus on writing business logic rather than infrastructure code. Dapr is designed to be language-agnostic and can be used with any programming language and any cloud or edge environment. This topic covers the key features of Dapr and how to use it to build distributed applications.                                               |
|                [Tools - Mass Transit](docs/microservices/tools/mass-transit.md)                | Mass Transit is an open-source distributed application framework for .NET. It provides a set of abstractions and building blocks for building scalable and fault-tolerant microservices-based applications. Mass Transit supports various messaging technologies, such as RabbitMQ, ActiveMQ, and Azure Service Bus, and provides features such as request-response, pub/sub messaging, and message routing. This topic covers the key features of Mass Transit and how to use it to build distributed applications.                                                                                     |
|                [Tools - NService Bus](docs/microservices/tools/nservice-bus.md)                | NService Bus is a commercial distributed application framework for .NET. It provides a set of abstractions and building blocks for building scalable and reliable microservices-based applications. NService Bus supports various messaging technologies, such as RabbitMQ, Azure Service Bus, and Amazon SQS, and provides features such as request-response, pub/sub messaging, and message routing. This topic covers the key features of NService Bus and how to use it to build distributed applications.                                                                                           |
|                    [Tools - SteelToe](docs/microservices/tools/steeltoe.md)                    | Steeltoe is an open-source framework for building .NET microservices-based applications that run on Cloud Foundry and Kubernetes. Steeltoe provides a set of libraries and building blocks, such as service discovery, circuit breakers, and security, that help developers to build and operate cloud-native applications. Steeltoe is designed to be modular and can be used with any .NET framework, such as ASP.NET, .NET Core, and .NET Framework. This topic covers the key features of Steeltoe and how to use it to build cloud-native applications.                                             |
|                         [Tools - Tye](docs/microservices/tools/tye.md)                         | Tye is an open-source development tool for building, testing, and deploying microservices-based applications. Tye provides a simple and fast way to develop and run applications locally using containers, without the need to manage the infrastructure. Tye supports various programming languages, such as .NET, Java, and Node.js, and integrates with popular tools such as Docker, Kubernetes, and Helm. This topic covers the key features of Tye and how to use it to develop and deploy microservices-based applications locally.                                                               |
|                   [Tools - wolverine](docs/microservices/tools/wolverine.md)                   | Wolverine is an open-source project that provides a next-generation command and message bus for .NET. It allows developers to build scalable and distributed applications by enabling communication between different parts of the application through a message-based architecture. Wolverine is built on top of the Jasper Framework and provides features such as distributed command routing, message serialization, and versioning. It supports both synchronous and asynchronous message handling, and can be used with various transport protocols such as HTTP, RabbitMQ, and Azure Service Bus. |

### Modular Monolith

|                    Topic                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| :------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Modular Monolith](docs/modular-monolith.md) | Modular Monolith is an architectural approach that combines the advantages of monolithic and microservices architectures. It aims to build a monolithic application with a modular design that allows it to be divided into smaller, more manageable parts, each with its own clear responsibilities and interfaces. This approach allows teams to develop and deploy features independently, while still maintaining a single codebase and database. The modular design also facilitates the testing and maintenance of the application, as well as the scaling of individual modules. |

### Architectural Design Principles

|                                                   Topic                                                    | Description                                                                                                                                                                                                                                                                                              |
| :--------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Architectural Design Principles](docs/architectural-design-principles/architectural-design-principles.md) | A comprehensive overview of the most important principles that should be considered when designing software architecture.                                                                                                                                                                                |
|                             [CAP](docs/architectural-design-principles/cap.md)                             | The CAP theorem, which describes the trade-offs that must be made in distributed systems between consistency, availability, and partition tolerance.                                                                                                                                                     |
|                        [Cohesion](docs/architectural-design-principles/cohesion.md)                        | The concept of cohesion, which refers to the degree to which the elements within a module or component are related and work together to achieve a single purpose.                                                                                                                                        |
|                        [Coupling](docs/architectural-design-principles/coupling.md)                        | The concept of coupling, which refers to the degree to which one module or component depends on another.                                                                                                                                                                                                 |
|                  [Command Query Separation](docs/architectural-design-principles/cqs.md)                   | The Command Query Separation (CQS) principle, which recommends that methods should either change the state of an object (commands) or return a value (queries), but not both.                                                                                                                            |
|          [Cross Cutting Concerns](docs/architectural-design-principles/cross-cutting-concerns.md)          | Cross-cutting concerns are features or requirements that cut across multiple components or modules in a system, such as security, logging, or transaction management.                                                                                                                                    |
|            [Dependency Inversion](docs/architectural-design-principles/dependency-inversion.md)            | The Dependency Inversion principle, which states that high-level modules should not depend on low-level modules, but both should depend on abstractions.                                                                                                                                                 |
|                             [DRY](docs/architectural-design-principles/dry.md)                             | The Don't Repeat Yourself (DRY) principle, which states that code should not be duplicated within a system, but instead should be abstracted into reusable functions or modules.                                                                                                                         |
|                   [Encapsulation](docs/architectural-design-principles/encapsulation.md)                   | Encapsulation is the principle of hiding implementation details of an object or module from its users, and providing a well-defined interface for interacting with it.                                                                                                                                   |
|              [Fail Fast Design Principles](docs/architectural-design-principles/fail-fast.md)              | Fail-fast design principles aim to reduce the impact of errors and failures in a system, by detecting them as early as possible and stopping the execution of the system before the error propagates further.                                                                                            |
| [Composition Over Inheritance](docs/architectural-design-principles/favor-composition-over-inheritance.md) | The Composition over Inheritance principle, which recommends favoring composition (building complex objects by combining simpler ones) over inheritance (creating new classes by extending existing ones) when designing object-oriented software.                                                       |
|                           [GRASP](docs/architectural-design-principles/grasp.md)                           | The General Responsibility Assignment Software Patterns (GRASP) are a set of guidelines for assigning responsibilities to objects and modules in a software system.                                                                                                                                      |
|           [Interface Segregation](docs/architectural-design-principles/interface-segregation.md)           | The Interface Segregation principle, which states that clients should not be forced to depend on interfaces they do not use, and that interfaces should be designed to be cohesive and focused on a single purpose.                                                                                      |
|               [Inversion Control](docs/architectural-design-principles/inversion-control.md)               | The Inversion of Control (IoC) pattern, which is a technique for decoupling the dependencies between modules or components in a system, by inverting the direction of the dependencies.                                                                                                                  |
|                            [KISS](docs/architectural-design-principles/kiss.md)                            | Keep It Simple, Stupid (KISS) is a design principle that encourages keeping systems and solutions as simple as possible to avoid unnecessary complexity and increase maintainability.                                                                                                                    |
|          [Open Closed Principles](docs/architectural-design-principles/open-closed-principles.md)          | The Open-Closed Principle (OCP) is a design principle that promotes the idea of writing code that is open to extension but closed to modification, meaning that new features should be added to a system without changing its existing codebase.                                                         |
|           [Persistence Ignorance](docs/architectural-design-principles/persistence-ignorance.md)           | Persistence Ignorance (PI) is a design principle that encourages decoupling business logic from persistence logic to increase flexibility, maintainability, and testability.                                                                                                                             |
|           [Single Responsibility](docs/architectural-design-principles/single-responsibility.md)           | The Single Responsibility Principle (SRP) is a design principle that advocates for a class or module to have only one reason to change, meaning it should only have one responsibility or job.                                                                                                           |
|           [Strangler Fig Pattern](docs/architectural-design-principles/strangler-fig-pattern.md)           | The Strangler Fig Pattern is an approach to software modernization that involves gradually replacing an existing system with a new one, module by module, rather than attempting to migrate it all at once.                                                                                              |
|                           [Solid](docs/architectural-design-principles/solid.md)                           | SOLID is an acronym for five object-oriented design principles (Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle) that aim to make software systems more maintainable, scalable, and testable. |
|                           [Yagni](docs/architectural-design-principles/yagni.md)                           | You Aren't Gonna Need It (YAGNI) is a principle that advises against writing code for features that are not yet needed, to avoid adding unnecessary complexity to the codebase and focus on delivering only what is required.                                                                            |

### Design Patterns

|                                       Topic                                       | Description                                                                                                                                                                                                                                                                                                                                                                                       |
| :-------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|            [Design Patterns](docs/design-patterns/design-patterns.md)             | A comprehensive list of design patterns with examples and explanations of how they can be used to solve common software design problems.                                                                                                                                                                                                                                                          |
|            [Adapter Pattern](docs/design-patterns/adapter-pattern.md)             | The Adapter Pattern is a structural design pattern that allows objects with incompatible interfaces to work together by providing a wrapper that adapts the interface of one object to match the interface of another. Actually The Adapter acts as a wrapper between two objects. It catches calls for one object and transforms them to format and interface recognizable by the second object. |
|                    [Builder](docs/design-patterns/builder.md)                     | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|    [Chain of Responsibility](docs/design-patterns/chain-of-responsibility.md)     | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|    [Command Message Pattern](docs/design-patterns/command-message-pattern.md)     | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|            [Command Pattern](docs/design-patterns/command-pattern.md)             | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|          [Decorator Patterns](docs/design-patterns/decorator-pattern.md)          | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|            [Factory Patterns](docs/design-patterns/factory-pattern.md)            | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|           [Mediator Patterns](docs/design-patterns/mediator-pattern.md)           | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|               [Observer Patterns](docs/design-patterns/observer.md)               | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|       [Query-Object Patterns](docs/design-patterns/query-object-pattern.md)       | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|         [Repository Pattern](docs/design-patterns/repository-pattern.md)          | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|                       [REPR](docs/design-patterns/repr.md)                        | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|            [Service Locator](docs/design-patterns/service-locator.md)             | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|                  [Singleton](docs/design-patterns/singleton.md)                   | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|      [Specification Pattern](docs/design-patterns/specification-pattern.md)       | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|              [State Pattern](docs/design-patterns/state-pattern.md)               | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
|           [Strategy Patterns](docs/design-patterns/strategy-pattern.md)           | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |
| [Transaction-Script Patterns](docs/design-patterns/transaction-script-pattern.md) | TODO...                                                                                                                                                                                                                                                                                                                                                                                           |

### Cloud Design Patterns

|                                            Topic                                             | Description |
| :------------------------------------------------------------------------------------------: | :---------- |
|         [Cloud Design Patterns](docs/cloud-design-patterns/cloud-design-patterns.md)         | TODO...     |
|            [Ambassador Pattern](docs/cloud-design-patterns/ambassador-pattern.md)            | TODO...     |
| [Anti Corruption Layer Pattern](docs/cloud-design-patterns/anti-corruption-layer-pattern.md) | TODO...     |
|                           [BFF](docs/cloud-design-patterns/bff.md)                           | TODO...     |
|              [Bulkhead Pattern](docs/cloud-design-patterns/bulkhead-pattern.md)              | TODO...     |
|               [Circuit Breaker](docs/cloud-design-patterns/circuit-breaker.md)               | TODO...     |
|          [Exactly One Delivery](docs/cloud-design-patterns/exactly-one-delivery.md)          | TODO...     |
|           [Gateway Aggregation](docs/cloud-design-patterns/gateway-aggregation.md)           | TODO...     |
|               [Gateway Pattern](docs/cloud-design-patterns/gateway-pattern.md)               | TODO...     |
|                [Inbox Patterns](docs/cloud-design-patterns/inbox-pattern.md)                 | TODO...     |
|               [Outbox Patterns](docs/cloud-design-patterns/outbox-pattern.md)                | TODO...     |
|                     [Saga Patterns](docs/cloud-design-patterns/saga.md)                      | TODO...     |
|                  [Sidecar Patterns](docs/cloud-design-patterns/sidecar.md)                   | TODO...     |
|        [Strangler Fig Patterns](docs/cloud-design-patterns/strangler-fig-pattern.md)         | TODO...     |

### Cloud Best Practices

|                                   Topic                                   | Description |
| :-----------------------------------------------------------------------: | :---------- |
| [Cloud Best Practices](docs/cloud-best-practices/cloud-best-practices.md) | TODO...     |

### Cloud Native

|                Topic                 | Description |
| :----------------------------------: | :---------- |
| [Cloud Native](docs/cloud-native.md) | TODO...     |

### Platform as a Service

|                Topic                | Description |
| :---------------------------------: | :---------- |
|    [Heroku](docs/paas/heroku.md)    | TODO...     |
|   [Netlify](docs/paas/netlify.md)   | TODO...     |
| [OpenShift](docs/paas/openshift.md) | TODO...     |
|   [Rancher](docs/paas/rancher.md)   | TODO...     |

### Infrastructure as a Service

|                      Topic                       | Description |
| :----------------------------------------------: | :---------- |
| [Infrastructure as a Service](docs/iaas/iaas.md) | TODO...     |
|           [Nomad](docs/iaas/nomad.md)            | TODO...     |
|          [Pulumi](docs/iaas/pulumi.md)           | TODO...     |
|       [Terraform](docs/iaas/terraform.md)        | TODO...     |

### DevOps

|                                                         Topic                                                         | Description |
| :-------------------------------------------------------------------------------------------------------------------: | :---------- |
|                                        [Containerd](docs/devops/containerd.md)                                        | TODO...     |
|                                        [Docker](docs/devops/docker/docker.md)                                         | TODO...     |
|                            [Docker - Docker Compose](docs/devops/docker/docker-compose.md)                            | TODO...     |
|                                  [Kubernetes](docs/devops/kubernetes/kubernetes.md)                                   | TODO...     |
|                              [Kubernetes - Services](docs/devops/kubernetes/services.md)                              | TODO...     |
|                 [Kubernetes - Deployment Strategies](docs/devops/kubernetes/deployment-strategies.md)                 | TODO...     |
|             [Kubernetes - Deployment Tools - ArgoCd](docs/devops/kubernetes/deployment-tools/argo-cd.md)              | TODO...     |
|                [Kubernetes - Deployment Tools - Flux](docs/devops/kubernetes/deployment-tools/flux.md)                | TODO...     |
|                [Kubernetes - Deployment Tools - Helm](docs/devops/kubernetes/deployment-tools/helm.md)                | TODO...     |
|             [Kubernetes - Deployment Tools - Jenkins](docs/devops/kubernetes/deployment-tools/jenkins.md)             | TODO...     |
| [Kubernetes - Deployment Tools - Kubernetes Operator](docs/devops/kubernetes/deployment-tools/kubernetes-operator.md) | TODO...     |
|           [Kubernetes - Deployment Tools - Kustomize](docs/devops/kubernetes/deployment-tools/kustomize.md)           | TODO...     |
|          [Kubernetes - Ingress Controller](docs/devops/kubernetes/ingress-controller/ingress-controller.md)           | TODO...     |
|         [Kubernetes - Ingress Controller - Nginx](docs/devops/kubernetes/ingress-controller/nginx-ingress.md)         | TODO...     |
|       [Kubernetes - Ingress Controller - Traefik](docs/devops/kubernetes/ingress-controller/traefik-ingress.md)       | TODO...     |
|                      [Kubernetes - Other Tools - K3s](docs/devops/kubernetes/other-tools/k3s.md)                      | TODO...     |
|                     [Kubernetes - Other Tools - Kind](docs/devops/kubernetes/other-tools/kind.md)                     | TODO...     |
|                     [Kubernetes - Other Tools - Tilt](docs/devops/kubernetes/other-tools/tilt.md)                     | TODO...     |

### Reverse Proxy - Load Balancing

|                           Topic                           | Description |
| :-------------------------------------------------------: | :---------- |
| [Load Balancing](docs/reverse-proxy-lb/load-balancing.md) | TODO...     |
|  [Reverse Proxy](docs/reverse-proxy-lb/reverse-proxy.md)  | TODO...     |
|          [Envoy](docs/reverse-proxy-lb/envoy.md)          | TODO...     |
|        [HAProxy](docs/reverse-proxy-lb/haproxy.md)        | TODO...     |
|        [MetalLB](docs/reverse-proxy-lb/metallb.md)        | TODO...     |
|          [Nginx](docs/reverse-proxy-lb/nginx.md)          | TODO...     |
|        [Traefik](docs/reverse-proxy-lb/traefik.md)        | TODO...     |
|           [Yarp](docs/reverse-proxy-lb/yarp.md)           | TODO...     |

### Service Discovery And Registry

|                              Topic                               | Description |
| :--------------------------------------------------------------: | :---------- |
| [Service Discovery](docs/service-discovery/service-discovery.md) | TODO...     |
|            [Consul](docs/service-discovery/consul.md)            | TODO...     |
|            [Eureka](docs/service-discovery/eureka.md)            | TODO...     |

### Service Mesh

|                       Topic                       | Description |
| :-----------------------------------------------: | :---------- |
| [Service Mesh](docs/service-mesh/service-mesh.md) | TODO...     |
|        [Istio](docs/service-mesh/istio.md)        | TODO...     |
|      [Linkerd](docs/service-mesh/linkerd.md)      | TODO...     |
|        [Maesh](docs/service-mesh/maesh.md)        | TODO...     |

### Object Oriented Design

|                          Topic                           | Description |
| :------------------------------------------------------: | :---------- |
| [Object Oriented Design](docs/object-oriented-design.md) | TODO...     |

### Systems Design

|                           Topic                           | Description |
| :-------------------------------------------------------: | :---------- |
|  [Systems Design](docs/systems-design/systems-design.md)  | TODO...     |
| [Consistent Hash](docs/systems-design/consistent-hash.md) | TODO...     |

### Scaling

|           Topic            | Description |
| :------------------------: | :---------- |
| [Scaling](docs/scaling.md) | TODO...     |

### Back Pressure

|                 Topic                  | Description |
| :------------------------------------: | :---------- |
| [Back Pressure](docs/back-pressure.md) | TODO...     |

### Clean Code

|              Topic               | Description |
| :------------------------------: | :---------- |
| [Clean Code](docs/clean-code.md) | TODO...     |

### Abstraction

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [Abstraction](docs/abstraction.md) | TODO...     |

### Design Best Practices

|                                    Topic                                     | Description |
| :--------------------------------------------------------------------------: | :---------- |
| [Design Best Practices](docs/design-best-practices/design-best-practices.md) | TODO...     |
|             [12 Factor](docs/design-best-practices/12-factor.md)             | TODO...     |
|    [Strongly Typed Ids](docs/design-best-practices/strongly-typed-ids.md)    | TODO...     |
|      [Thin Controllers](docs/design-best-practices/thin-controllers.md)      | TODO...     |

### Anti Patterns

|                             Topic                              | Description |
| :------------------------------------------------------------: | :---------- |
|      [Anti Patterns](docs/anti-patterns/anti-patterns.md)      | TODO...     |
|    [Big Ball of Mud](docs/anti-patterns/big-ball-of-mud.md)    | TODO...     |
|        [Code Smells](docs/anti-patterns/code-smells.md)        | TODO...     |
|         [God Object](docs/anti-patterns/god-object.md)         | TODO...     |
| [Leaky Abstractions](docs/anti-patterns/leaky-abstractions.md) | TODO...     |
|     [Partial Object](docs/anti-patterns/partial-object.md)     | TODO...     |
|       [Static Cling](docs/anti-patterns/static-cling.md)       | TODO...     |

### Eventual Consistency

|                        Topic                         | Description |
| :--------------------------------------------------: | :---------- |
| [Eventual Consistency](docs/eventual-consistency.md) | TODO...     |

### Messaging

|                               Topic                                		 | Description |
| :----------------------------------------------------------------: 	     | :---------- |
|              [Messaging](docs/messaging/messaging.md)              		 | TODO...     |
|  [Async APIs Documentation](docs/messaging/async-api-documentation.md)     | TODO...     |
|      [Messaging-patterns](docs/messaging/messaging-patterns.md)   		 | TODO...     |
|                  [Kafka](docs/messaging/kafka.md)                 		 | TODO...     |
|               [Rabbitmq](docs/messaging/rabbitmq.md)              		 | TODO...     |
|                   [Nats](docs/messaging/nats.md)                  		 | TODO...     |
|                   [ZeroMQ](docs/messaging/zeromq.md)              		 | TODO...     |
| [Change Data Capture (CDC)](docs/messaging/change-data-capture.md)		 | TODO...     |

### Distributed Transactions

|                            Topic                             | Description |
| :----------------------------------------------------------: | :---------- |
| [Distributed Transactions](docs/distributed-transactions.md) | TODO...     |

### Distributed Locking

|                       Topic                        | Description |
| :------------------------------------------------: | :---------- |
| [Distributed Locking](docs/distributed-locking.md) | TODO...     |

### Eventual Consistency

|                        Topic                         | Description |
| :--------------------------------------------------: | :---------- |
| [Eventual Consistency](docs/eventual-consistency.md) | TODO...     |

### RESTful API Design

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [RESTful API Design](docs/rest.md) | TODO...     |

### gRPC

|        Topic         | Description |
| :------------------: | :---------- |
| [gRPC](docs/grpc.md) | TODO...     |

### Caching

|           Topic            | Description |
| :------------------------: | :---------- |
| [Caching](docs/caching.md) | TODO...     |

### Functional Programming

|                    Topic                     | Description |
| :------------------------------------------: | :---------- |
| [Functional Programming](docs/functional.md) | TODO...     |

### Concurrency

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [Concurrency](docs/concurrency.md) | TODO...     |

### Sharding

|            Topic             | Description |
| :--------------------------: | :---------- |
| [Sharding](docs/sharding.md) | TODO...     |

### Refactoring

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [Refactoring](docs/refactoring.md) | TODO...     |

### Database

|                                             Topic                                              | Description |
| :--------------------------------------------------------------------------------------------: | :---------- |
|                    [Database - NoSQL - NoSQL](docs/database/nosql/nosql.md)                    | TODO...     |
|                  [Database - NoSQL - MongoDB](docs/database/nosql/mongodb.md)                  | TODO...     |
|                  [Database - NoSQL - RavenDB](docs/database/nosql/ravendb.md)                  | TODO...     |
|                 [Database - NoSQL - Cosmosdb](docs/database/nosql/cosmosdb.md)                 | TODO...     |
|               [Database - NoSQL - Documentdb](docs/database/nosql/documentdb.md)               | TODO...     |
| [Database - Relational - Relational Database](docs/database/relational/relational-database.md) | TODO...     |
|            [Database - Relational - Postgres](docs/database/relational/postgres.md)            | TODO...     |
|                 [Database - Relational - SQL](docs/database/relational/sql.md)                 | TODO...     |
|                     [Database - Replication](docs/database/replication.md)                     | TODO...     |
|                        [Database - Sharding](docs/database/sharding.md)                        | TODO...     |

### Relational Database

| Topic | Description |
| :---: | :---------- |

### Microsoft Azure Cloud

|                                             Topic                                              | Description |
| :--------------------------------------------------------------------------------------------: | :---------- |
|                       [Microsoft Azure Cloud](docs/azure/azure-cloud.md)                       | TODO...     |
|                                    [AKS](docs/azure/aks.md)                                    | TODO...     |
|                   [Azure API Management](docs/azure/azure-api-management.md)                   | TODO...     |
|                 [Azure App Service Plan](docs/azure/azure-app-service-plan.md)                 | TODO...     |
|                      [Azure App Service](docs/azure/azure-app-service.md)                      | TODO...     |
|                              [Azure Arc](docs/azure/azure-arc.md)                              | TODO...     |
|                    [Azure Configuration](docs/azure/azure-configuration.md)                    | TODO...     |
|                        [Azure Functions](docs/azure/azure-functions.md)                        | TODO...     |
|                   [Azure Load Balancing](docs/azure/azure-load-balancing.md)                   | TODO...     |
|                        [Azure Logic App](docs/azure/azure-logic-app.md)                        | TODO...     |
|                         [Azure Resource](docs/azure/azure-resource.md)                         | TODO...     |
|                 [Azure Resource Manager](docs/azure/azure-resource-manager.md)                 | TODO...     |
|                          [Azure SQL Server](docs/azure/azure-sql.md)                           | TODO...     |
|        [Azure Security - Azure Key Vault](docs/azure/azure-security/azure-key-vault.md)        | TODO...     |
| [Azure Security - Azure Active Directory](docs/azure/azure-security/azure-active-directory.md) | TODO...     |
|                      [Azure Messaging](docs/azure/messaging/messaging.md)                      | TODO...     |
|        [Azure Messaging - Azure Service Bus](docs/azure/messaging/azure-service-bus.md)        | TODO...     |
|         [Azure Messaging - Azure Event Grid](docs/azure/messaging/azure-event-grid.md)         | TODO...     |
|          [Azure Messaging - Azure Event Hub](docs/azure/messaging/azure-event-hub.md)          | TODO...     |
|              [Azure Messaging - Azure Queue](docs/azure/messaging/azure-queue.md)              | TODO...     |
|        [Azure Messaging - Azure Web Pub Sub](docs/azure/messaging/azure-web-pub-sub.md)        | TODO...     |
|                         [Azure NoSQL](docs/azure/nosql/azure-nosql.md)                         | TODO...     |
|                     [Azure NoSQL - CosmosDB](docs/azure/nosql/cosmosdb.md)                     | TODO...     |
|                         [Azure Storage](docs/azure/storage/storage.md)                         | TODO...     |
|                   [Azure Storage - Blob Storage](docs/azure/storage/blob.md)                   | TODO...     |
|                   [Azure Storage - File Storage](docs/azure/storage/file.md)                   | TODO...     |
|                  [Azure Storage - Queue Storage](docs/azure/storage/queue.md)                  | TODO...     |
|                  [Azure Storage - Table Storage](docs/azure/storage/table.md)                  | TODO...     |

### Modeling

|                             Topic                             | Description |
| :-----------------------------------------------------------: | :---------- |
|             [Modeling](docs/modeling/modeling.md)             | TODO...     |
| [Architecture Diagram](docs/modeling/architecture-diagram.md) | TODO...     |
|        [Class Diagram](docs/modeling/class-diagram.md)        | TODO...     |
|    [Component Diagram](docs/modeling/component-diagram.md)    | TODO...     |
|  [Conceptual Modeling](docs/modeling/conceptual-modeling.md)  | TODO...     |
| [Data Model Notations](docs/modeling/data-model-notations.md) | TODO...     |
|  [Domain Stroytelling](docs/modeling/domain-stroytelling.md)  | TODO...     |
|          [ER Diagrams](docs/modeling/er-diagrams.md)          | TODO...     |
|       [Event Modeling](docs/modeling/event-modeling.md)       | TODO...     |
|       [Event Storming](docs/modeling/event-storming.md)       | TODO...     |
|     [Logical Modeling](docs/modeling/logical-modeling.md)     | TODO...     |

### Open Source

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [Open Source](docs/open-source.md) | TODO...     |

### Code Review

|               Topic                | Description |
| :--------------------------------: | :---------- |
| [Code Review](docs/code-review.md) | TODO...     |


### Micro-Frontend

|                  Topic                   | Description                                                                                                                                                                 |
| :--------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Micro-Frontend](docs/micro-frontend.md) | Micro-frontends are revolutionizing the development landscape by allowing independent implementation of a business subdomain, all with the same and different technologies. |

### Others

|          Topic           | Description |
| :----------------------: | :---------- |
| [Others](docs/others.md) | TODO...     |

## 🙏 Special Thanks

Thanks to the authors of the links for their valuable content, I gather them in one place for finding topics to read easier.

## ⭐ Support

If you like, feel free to ⭐ this repository, it helps out :)

Thanks a bunch for supporting me!

## 🤝 Contribution

Contributions are always welcome! Please take a look at the [contribution guidelines](https://github.com/mehdihadeli/awesome-software-architecture/blob/main/contributing.md) pages first.

Thanks to all [contributors](https://github.com/mehdihadeli/awesome-software-architecture/graphs/contributors), you're awesome and this wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.

<a href="https://github.com/mehdihadeli/awesome-software-architecture/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=mehdihadeli/awesome-software-architecture" />
</a>


================================================
FILE: ReleaseNotes.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>


================================================
FILE: contributing.md
================================================
# Contribution Guidelines

## New entry format

* Use the following format: **(LINK) | (LIBRARY) | (GitHub-UserName/GitHub-RepositoryName) - DESCRIPTION**
* The link should be the name of the package or project or article and they must be added to `corresponding md file` in the [docs](./docs) folder.
* Keep descriptions concise, clear and simple.
* New categories, or improvements to the existing ones are also welcome.
* If you add new category you should create a new `md file` for this category in the [docs](./docs) folder.
* If you add new category don't forget to add it to [mkdocs.yml](mkdocs.yml) file in root of this project.
* Your links will check for ensuring quality.
## Pull requests workflow

* **For adding some links in each category create a separate pull request.** If you want to add several links in each category, you should create PR for changing in that category, creating separate pull request for each category make review process easier (each category has a separate md file). 
* **Meaningful description.** Pull request should have meaningful description what this project do, why do you want to add it to the list and any other info which might be useful. This will help maintainers with the review process.

## Research projects

If you are to include a research or academic project, please use the `**[Research]**` tag.

Thanks to all [contributors](https://github.com/mehdihadeli/awesome-software-architecture/graphs/contributors), you're awesome and wouldn't be possible without you!


================================================
FILE: docs/README.md
================================================
<p align="center">
  <h1 align="center">
   🎨 Awesome Software Architecture
    <br>
    <a href="https://github.com/mehdihadeli/awesome-software-architecture/actions/workflows/ci.yml"><img alt="build-status" src="https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square" /></a>
    <a href="https://github.com/sindresorhus/awesome" ><img alt="awesome" src="https://awesome.re/badge-flat2.svg?style=flat-square" /></a>
    <a href="https://github.com/mehdihadeli/awesome-software-architecture/blob/main/LICENSE" ><img alt="license" src="https://img.shields.io/badge/License-CC0_1.0-E91E63.svg?style=flat-square" /></a>
  </h1>
</p>


> Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date.

I created this repository to share a set of links that I found valuable and inspiring and I share them with others to improve our knowledge together ✌️. 

## 🙏 Special Thanks

Thanks to the authors of the links for their valuable content, I gather them in one place for finding topics to read easier.

## ⭐ Support 
If you like feel free to ⭐ this repository, It helps out :)

Thanks a bunch for supporting me!


## 🤝 Contribution
Contributions are always welcome! Please take a look at the [contribution guidelines](https://github.com/mehdihadeli/awesome-software-architecture/blob/main/contributing.md) pages first.

Thanks to all [contributors](https://github.com/mehdihadeli/awesome-software-architecture/graphs/contributors), you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.


================================================
FILE: docs/abstraction.md
================================================
# Abstraction

## 📕 Articles
- [When NOT to write an Abstraction Layer](https://codeopinion.com/when-not-to-write-an-abstraction-layer/)
## 📺 Videos
- [What's the Cost of Indirection & Abstractions?](https://www.youtube.com/watch?v=DNjDZ0E6GUs)
- [When NOT to write an Abstraction Layer](https://www.youtube.com/watch?v=tqqH_Ib_gDc)
- [Avoiding Premature Software Abstractions](https://betterprogramming.pub/avoiding-premature-software-abstractions-8ba2e990930a)

================================================
FILE: docs/actor-model-architecture/actor-model-architecture.md
================================================
# Actor Model Architecture

## 📕Articles
- [How virtual actors will help you scale your applications the easy way](https://www.etteplan.com/stories/how-virtual-actors-will-help-you-scale-your-applications-easy-way)
- [Comparing .NET virtual actor frameworks](https://www.etteplan.com/stories/comparing-net-virtual-actor-frameworks)
- [Benchmark: .NET virtual actor frameworks](https://www.etteplan.com/stories/benchmark-net-virtual-actor-frameworks)
- [How to Start Learning Actor-Based Programming](https://petabridge.com/blog/begin-learning-actor-based-design/)

## 📦 Libraries
- [dotnet/orleans](https://github.com/dotnet/orleans) - Cloud Native application framework for .NET
- [asynkron/protoactor-dotnet](https://github.com/asynkron/protoactor-dotnet) - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
- [asynkron/protoactor-go](https://github.com/asynkron/protoactor-go) - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
- [akkadotnet/akka.net](https://github.com/akkadotnet/akka.net) - Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
## 🚀 Samples
- [asynkron/realtimemap-dotnet](https://github.com/asynkron/realtimemap-dotnet) - A showcase for Proto.Actor - an ultra-fast distributed actors solution for Go, C#, and Java/Kotlin.
- [asynkron/realtimemap-go](https://github.com/asynkron/realtimemap-go)

================================================
FILE: docs/actor-model-architecture/akka-net.md
================================================
# Akka .NET

## 📘 Resources
- [akkadotnet/akka.net](https://github.com/akkadotnet/akka.net) - Port of Akka actors for .NET
- [Akka.NET Bootcamp](https://petabridge.com/bootcamp/)
- [End to End Akka.NET Distributed Programming with Akka.Cluster, K8s, and Docker](https://petabridge.com/cluster/)

## 📕Articles
- [Lesson 1 - Working with Akka.NET and Akka.Cluster](https://petabridge.com/cluster/lesson1)
- [Lesson 2 - Docker-izing Akka.NET and Akka.Cluster](https://petabridge.com/cluster/lesson2)
- [Lesson 3 - Akka.Cluster Best Practices for Continuous Deployment](https://petabridge.com/cluster/lesson3)
- [Lesson 4 - Advanced Akka.Cluster Techniques DistributedPubSub, Sharding, and ClusterClient](https://petabridge.com/cluster/lesson4)
- [Lesson 5 - Deploying Akka.Cluster in Kubernetes](https://petabridge.com/cluster/lesson5)
- [Lesson 6 - Monitoring Akka.NET with Phobos](https://petabridge.com/cluster/lesson6)
- [How to Start Learning Actor-Based Programming](https://petabridge.com/blog/begin-learning-actor-based-design/)

## Videos
- [Webinar: Akka.NET Application Management Best Practices](https://www.youtube.com/watch?v=X1Tg4R2JFMQ)
- [Easy, Database Agnostic NET Event Sourcing and CQRS with Akka.NET](https://www.youtube.com/watch?v=ysXBz2s5W00)
- [How We Built the Fastest MQTT Client in NET - Part 1: Why We Built It](https://www.youtube.com/watch?v=l_CT1sGgvdk)
- [Reliable Akka.NET Message Delivery with Akka.Delivery](https://www.youtube.com/watch?v=X2PBsUOSXpk)
- [Backpressure Explained](https://www.youtube.com/watch?v=0KYoIvrM9VY)
- [Consistent Hash Distributions Explained](https://www.youtube.com/watch?v=byL_Cs0dGO0)
- [Message and State Versioning in .NET (Using Akka.NET)](https://www.youtube.com/watch?v=oRll1Mzoyl4)

## 🚀 Samples
- [petabridge/akkadotnet-cluster-workshop](https://github.com/petabridge/akkadotnet-cluster-workshop) - Akka.NET + Kubernetes + Akka.Cluster Training Course
- [petabridge/akka-bootcamp](https://github.com/petabridge/akka-bootcamp) - Self-paced training course to learn Akka.NET fundamentals from scratch
- [petabridge/azure-container-app-akkadotnet](https://github.com/petabridge/azure-container-app-akkadotnet)
- [petabridge/akkadotnet-code-samples](https://github.com/petabridge/akkadotnet-code-samples) - Akka.NET professional reference code samples

## Libraries
- [petabridge/TurboMqtt](https://github.com/petabridge/TurboMqtt) - The fastest Message Queue Telemetry Transport (MQTT) client for .NET.
- [akkadotnet/akkadotnet-templates](https://github.com/akkadotnet/akkadotnet-templates) - Production-ready dotnet new templates for Akka.NET

================================================
FILE: docs/actor-model-architecture/orleans.md
================================================
# Orleans

### 📕Articles
- [Developing APIs using Actor model in ASP.NET Core](https://dev.to/samueleresca/developing-apis-using-actor-model-in-aspnet-core-2oh2)
- [Microsoft Orleans - Problems & Solutions](https://www.ledjonbehluli.com/posts/orleans_problems_and_solutions/)
- [Building Loosely Coupled and Scalable RESTful Services using Orleans](https://www.gokhan-gokalp.com/en/orleans-ile-loosely-coupled-ve-scalable-restful-service-olusturma/)

## 📹 Videos

- [On .NET Live - Deep Dive into Microsoft Orleans](https://www.youtube.com/watch?v=R0ODfwU6MzQ)
- [Introduction to Microsoft Orleans - CodeWithStu](https://www.youtube.com/watch?v=yM-gpuw1uhM)
- [Building real applications with Orleans](https://www.youtube.com/watch?v=8duFuggnj8o)
- [An Introduction to Orleans](https://www.youtube.com/watch?v=9OMXw0CslKE)
- [Clustering in Orleans](https://www.youtube.com/watch?v=okBWuR5AnBY)
- [Reuben Bond - Orleans under the hood (Dotnetos Conference 2021)](https://www.youtube.com/watch?v=kgRag4E6b4c)

## 🚀 Samples
- [davidfowl/Orleans.PubSub](https://github.com/davidfowl/Orleans.PubSub) - A pub sub implementation built on top of orleans grains
- [JorgeCandeias/Trader](https://github.com/JorgeCandeias/Trader) - Trader is an algorithmic trading framework and host built on Microsoft Orleans.
- [IEvangelist/orleans-shopping-cart](https://github.com/IEvangelist/orleans-shopping-cart)
- [khalidabuhakmeh/HelloOrleans](https://github.com/khalidabuhakmeh/HelloOrleans) - Playing with ASP.NET Core and Orleans in a Client/Server scenario
- [Azure-Samples/Orleans-Cluster-on-Azure-Container-Apps](https://github.com/Azure-Samples/Orleans-Cluster-on-Azure-Container-Apps) - Sample application demonstrating a multiple-silo Orleans cluster running in Azure Container Apps.
- [samueleresca/blog-orleans-deepdive](https://github.com/samueleresca/blog-orleans-deepdive)
- [pmorelli92/Orleans.Tournament](https://github.com/pmorelli92/Orleans.Tournament) - Orleans sample with clustering, implicit stream handling, authentication, authorization, websockets
## 📦 Libraries
- [OrleansContrib/OrleansDashboard](https://github.com/OrleansContrib/OrleansDashboard) - A monitoring dashboard for Microsoft Orleans

================================================
FILE: docs/actor-model-architecture/protoactor.md
================================================
# Protoactor

## 📦 Libraries
- [asynkron/protoactor-dotnet](https://github.com/asynkron/protoactor-dotnet) - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
- [asynkron/protoactor-go](https://github.com/asynkron/protoactor-go) - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
## 🚀 Samples
- [asynkron/realtimemap-dotnet](https://github.com/asynkron/realtimemap-dotnet) - A showcase for Proto.Actor - an ultra-fast distributed actors solution for Go, C#, and Java/Kotlin.
- [asynkron/realtimemap-go](https://github.com/asynkron/realtimemap-go)

================================================
FILE: docs/ai/a2a.md
================================================
# A2A

## Resources
- [Agent2Agent (A2A) Protocol Specification](https://a2a-protocol.org/v0.2.5/specification/)

## Articles
- [Building AI Agents with the A2A .NET SDK](https://devblogs.microsoft.com/foundry/building-ai-agents-a2a-dotnet-sdk/)
- [Agent Discovery, Naming, and Resolution - the Missing Pieces to A2A](https://blog.christianposta.com/dynamic-agent-discovery-with-a2a-and-ans/)
- [Configuring A2A OAuth User Delegation](https://blog.christianposta.com/setting-up-a2a-oauth-user-delegation/)
- [Understanding Sessions in Agent to Agent Communication](https://blog.christianposta.com/understanding-sessions-in-agent-to-agent-communication/)
- [Mitigate Prompt Injection Attacks With A2AS and Agentgateway](https://blog.christianposta.com/mitigate-prompt-injection-attacks-with-a2as-and-agentgateway/)
- [Deep Dive MCP and A2A Attack Vectors for AI Agents](https://blog.christianposta.com/understanding-mcp-and-a2a-attack-vectors-for-ai-agents/)

## Libraries & Tools
- [agentgateway/agentgateway](https://github.com/agentgateway/agentgateway) - Next Generation Agentic Proxy for AI Agents and MCP servers

## Samples
- [christian-posta/oauth-agent-flows](https://github.com/christian-posta/oauth-agent-flows) - OAuth Agent Token Exchange

================================================
FILE: docs/ai/agent-framework.md
================================================
# Microsoft Agent Framework

## Resources
- [Microsoft Agent Framework documentation](https://learn.microsoft.com/en-us/agent-framework/)

## Articles

- [Microsoft Agent Framework](https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview)
- [Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer](https://devblogs.microsoft.com/dotnet/introducing-microsoft-agent-framework-preview/)
- [Introducing Microsoft Agent Framework: The Open-Source Engine for Agentic AI Apps](https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/)
- [Supercharging .NET Apps with DevUI and the New Microsoft Agent Framework](https://elbruno.com/2025/11/13/%f0%9f%9a%80-supercharging-net-apps-with-devui-and-the-new-microsoft-agent-framework/)

## Videos
- [Agent Framework: Building Blocks for the Next Generation of AI Agents](https://www.youtube.com/watch?v=AAgdMhftj8w)
- [.NET AI Community Standup - Getting Started with the Microsoft Agent Framework](https://www.youtube.com/watch?v=KDxi3NG3nfU)
- [Microsoft Agent Framework WorkFlows Explained](https://www.youtube.com/watch?v=KQ09sMHeFQY)
- [Deep Dive into Microsoft Agent Framework for AutoGen Users](https://www.youtube.com/watch?v=JlzteydCK_Q)

## Libraries
- [microsoft/agent-framework](https://github.com/microsoft/agent-framework) - A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Python and .NET.

## Samples
- [microsoft/agent-framework/dotnet/samples](https://github.com/microsoft/agent-framework/tree/main/dotnet/samples)


================================================
FILE: docs/ai/agent.md
================================================
# Agents

## Resources
- [microsoft/ai-agents-for-beginners](https://github.com/microsoft/ai-agents-for-beginners) - 12 Lessons to Get Started Building AI Agents

## Samples
- [NirDiamant/GenAI_Agents](https://github.com/NirDiamant/GenAI_Agents) - This repository provides tutorials and implementations for various Generative AI Agent techniques, from basic to advanced. It serves as a comprehensive guide for building intelligent, interactive AI systems.
- [NirDiamant/agents-towards-production](https://github.com/NirDiamant/agents-towards-production) - This repository delivers end-to-end, code-first tutorials covering every layer of production-grade GenAI agents, guiding you from spark to scale with proven patterns and reusable blueprints for real-world launches.

## Tools & Libraries
- [kagent-dev/kagent](https://github.com/kagent-dev/kagent) - Cloud Native Agentic AI 

================================================
FILE: docs/ai/ai.md
================================================
# AI

## Resources

- [microsoft/generative-ai-for-beginners](https://github.com/microsoft/generative-ai-for-beginners/) ⭐ - 21 Lessons, Get Started Building with Generative AI
- [microsoft/ai-agents-for-beginners](https://github.com/microsoft/ai-agents-for-beginners) ⭐ - 11 Lessons to Get Started Building AI Agents
- [microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners) - 12 Weeks, 24 Lessons, AI for All!
- [Hannibal046/Awesome-LLM](https://github.com/Hannibal046/Awesome-LLM) - Awesome-LLM: a curated list of Large Language Model
- [josephmisiti/awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning) - A curated list of awesome Machine Learning frameworks, libraries and software.
- [dair-ai/ML-YouTube-Courses](https://github.com/dair-ai/ML-YouTube-Courses) - Discover the latest machine learning / AI courses on YouTube.
- [louisfb01/start-machine-learning](https://github.com/louisfb01/start-machine-learning) - A complete guide to start and improve in machine learning
- [HuangOwen/Awesome-LLM-Compression](https://github.com/HuangOwen/Awesome-LLM-Compression) - Awesome LLM compression research papers and tools.
- [louisfb01/start-llms](https://github.com/louisfb01/start-llms) - A complete guide to start and improve your LLM skills
- [mlabonne/llm-course](https://github.com/mlabonne/llm-course) ⭐ - Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.
- [geffzhang/awesome-semantickernel](https://github.com/geffzhang/awesome-semantickernel) - Awesome list of tools and projects with the awesome semantic kernel framework
- [jmatthiesen/dotnet-ai-resources](https://github.com/jmatthiesen/dotnet-ai-resources) - A collection of resources available to .NET developers working with AI
- [LLM University](https://cohere.com/llmu)
- [e2b-dev/awesome-ai-agents](https://github.com/e2b-dev/awesome-ai-agents) - A list of AI autonomous agents
- [Hugging Face Learn](https://huggingface.co/learn) ⭐
- [aishwaryanr/awesome-generative-ai-guide](https://github.com/aishwaryanr/awesome-generative-ai-guide) - A one stop repository for generative AI research updates, interview resources, notebooks and much more!

## Articles

- [Reviewing GitHub Copilot by Building a Deck of Cards](https://programmingpercy.tech/blog/reviewing-github-copilot-by-building-deck-of-cards/)
- [ChatGPT Might Make Developers Unemployed In A Few Years](https://programmingpercy.tech/blog/chatgpt-might-make-developers-unemployed-in-years/)
- [GPT4All: Running an Open-source ChatGPT Clone on Your Laptop](https://betterprogramming.pub/gpt4all-running-an-open-source-chatgpt-clone-on-your-laptop-71ebe8600c71)
- [How to Install AutoGPT in Minutes](https://geekflare.com/how-to-install-autogpt/)
- [What Are Transformer Models and How Do They Work?](https://txt.cohere.com/what-are-transformer-models/)
- [Running Large Language Models locally – Your own ChatGPT-like AI in C#](https://blog.maartenballiauw.be/post/2023/06/15/running-large-language-models-locally-your-own-chatgpt-like-ai-in-csharp.html)
- [Introducing Microsoft.Extensions.AI Preview – Unified AI Building Blocks for .NET](https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-ai-preview/)
- [GitHub Models and .NET: Building Generative AI apps for engineers](https://devblogs.microsoft.com/dotnet/using-github-models-and-dotnet-to-build-generative-ai-apps/)

## 📺 Videos

- [ChatGPT Might Make Developers Unemployed In A Few Years](https://www.youtube.com/watch?v=C6tRcvY5xZg)
- [Auto-GPT Tutorial - Create Your Personal AI Assistant](https://www.youtube.com/watch?v=jn8n212l3PQ)
- [Create a Large Language Model from Scratch with Python – Tutorial](https://www.youtube.com/watch?v=UU1WVnMk4E8)
- [Intro to Large Language Models](https://www.youtube.com/watch?v=zjkBMFhNj_g) ⭐
- [.NET AI Community Standup - Phi-3 & C#](https://www.youtube.com/watch?v=fbojvzHGtkM)
- [Getting Started With Hugging Face in 15 Minutes | Transformers, Pipeline, Tokenizer, Models](https://www.youtube.com/watch?v=QEaBAZQCtwE)
- [How Microsoft Developers Use AI in Real-World Coding](https://youtu.be/gieL0bxyTUU)

## Courses

- [Huggingface Courses](https://huggingface.co/learn)
- [ChatGPT Prompt Engineering for Developers](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/)

## Libraries

- [nomic-ai/gpt4all](https://github.com/nomic-ai/gpt4all) - gpt4all: a chatbot trained on a massive collection of clean assistant data including code, stories and dialogue
- [Torantulino/Auto-GPT](https://github.com/Torantulino/Auto-GPT) - An experimental open-source attempt to make GPT-4 fully autonomous.
- [microsoft/DeepSpeed](https://github.com/microsoft/DeepSpeed) - DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.
- [lm-sys/FastChat](https://github.com/lm-sys/FastChat) - The release repo for "Vicuna: An Open Chatbot Impressing GPT-4"
- [karpathy/nanoGPT](https://github.com/karpathy/nanoGPT) - The simplest, fastest repository for training/finetuning medium-sized GPTs.
- [Significant-Gravitas/Auto-GPT-Plugins](https://github.com/Significant-Gravitas/Auto-GPT-Plugins) - Plugins for Auto-GPT
- [LAION-AI/Open-Assistant](https://github.com/LAION-AI/Open-Assistant) - OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
- [go-skynet/LocalAI](https://github.com/go-skynet/LocalAI) - Self-hosted, community-driven, local OpenAI-compatible API. Drop-in replacement for OpenAI running LLMs on consumer-grade hardware. No GPU required
- [SciSharp/LLamaSharp](https://github.com/SciSharp/LLamaSharp) - C#/.NET binding of llama.cpp, including LLaMa/GPT model inference and quantization, ASP.NET core integration and UI.
- [ggerganov/llama.cpp](https://github.com/ggerganov/llama.cpp) - Port of Facebook's LLaMA model in C/C++
- [meta-llama/llama](https://github.com/meta-llama/llama) - Inference code for Llama models
- [meta-llama/llama3](https://github.com/meta-llama/llama3) - The official Meta Llama 3 GitHub site
- [SevaSk/ecoute](https://github.com/SevaSk/ecoute) - Ecoute is a live transcription tool that provides real-time transcripts for both the user's microphone input (You) and the user's speakers output (Speaker) in a textbox. It also generates a suggested response using OpenAI's GPT-3.5 for the user to say based on the live transcription of the conversation.
- [AntonOsika/gpt-engineer](https://github.com/AntonOsika/gpt-engineer) - Specify what you want it to build, the AI asks for clarification, and then builds it.
- [facebookresearch/llama](https://github.com/facebookresearch/llama) - Inference code for LLaMA models
- [camenduru/text-generation-webui-colab](https://github.com/camenduru/text-generation-webui-colab) - A colab gradio web UI for running Large Language Models
- [microsoft/semantic-kernel](https://github.com/microsoft/semantic-kernel) - Integrate cutting-edge LLM technology quickly and easily into your apps
- [huggingface/transformers](https://github.com/huggingface/transformers) ⭐ - Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
- [huggingface/diffusers](https://github.com/huggingface/diffusers) ⭐ - Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch
- [imartinez/privateGPT](https://github.com/imartinez/privateGPT) ⭐ Interact privately with your documents using the power of GPT, 100% privately, no data leaks
- [UKPLab/sentence-transformers](https://github.com/UKPLab/sentence-transformers) - Multilingual Sentence & Image Embeddings with BERT
- [chroma-core/chroma](https://github.com/chroma-core/chroma) - the AI-native open-source embedding database
- [microsoft/azurechatgpt](https://github.com/microsoft/azurechatgpt) - Azure ChatGPT: Private & secure ChatGPT for internal enterprise use
- [StanGirard/quivr](https://github.com/StanGirard/quivr) - Your Second Brain supercharged by Generative AI Dump all your files and chat with your personal assistant on your files & more using GPT 3.5/4, Private, Anthropic, VertexAI, LLMs...
- [oobabooga/text-generation-webui](https://github.com/oobabooga/text-generation-webui) - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (ggml/gguf), Llama models
- [jmorganca/ollama](https://github.com/jmorganca/ollama) ⭐ - Get up and running with Llama 2 and other large language models locally
- [xtekky/gpt4free](https://github.com/xtekky/gpt4free) - The official gpt4free repository | various collection of powerful language models
- [RayVentura/ShortGPT](https://github.com/RayVentura/ShortGPT) - ShortGPT - Experimental AI framework for automated short/video content creation.
- [LAION-AI/Open-Assistant](https://github.com/LAION-AI/Open-Assistant) - OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
- [tmc/langchaingo](https://github.com/tmc/langchaingo) - LangChain for Go, the easiest way to write LLM-based programs in Go
- [abi/screenshot-to-code](https://github.com/abi/screenshot-to-code) - Drop in a screenshot and convert it to clean HTML/Tailwind/JS code
- [janhq/jan](https://github.com/janhq/jan) - Jan is an open source alternative to ChatGPT that runs 100% offline on your computer
- [langchain-ai/langchain](https://github.com/langchain-ai/langchain) ⭐ - Build context-aware reasoning applications
- [meta-llama/llama-models](https://github.com/meta-llama/llama-models) - Utilities intended for use with Llama models.
- [black-forest-labs/flux](https://github.com/black-forest-labs/flux) - Official inference repo for FLUX.1 models
- [User-friendly WebUI for LLMs (Formerly Ollama WebUI)](https://github.com/open-webui/open-webui) - User-friendly WebUI for LLMs (Formerly Ollama WebUI)
- [microsoft/autogen](https://github.com/microsoft/autogen) - A programming framework for agentic AI.
- [microsoft/JARVIS](https://github.com/microsoft/JARVIS) - JARVIS, a system to connect LLMs with ML community. Paper:
- [Kwai-Kolors/Kolors](https://github.com/Kwai-Kolors/Kolors) - Kolors: Effective Training of Diffusion Model for Photorealistic Text-to-Image Synthesis
- [microsoft/kernel-memory](https://github.com/microsoft/kernel-memory) - RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns
- [unslothai/unsloth](https://github.com/unslothai/unsloth) - Finetune Llama 3.1, Mistral, Phi & Gemma LLMs 2-5x faster with 80% less memory
- [meta-llama/codellama](https://github.com/meta-llama/codellama) - Inference code for CodeLlama models
  DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence
- [deepseek-ai/DeepSeek-Coder-V2](https://github.com/deepseek-ai/DeepSeek-Coder-V2) - DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence
- [UKPLab/sentence-transformers](https://github.com/UKPLab/sentence-transformers) - State-of-the-Art Text Embeddings
- [SciSharp/TensorFlow.NET](https://github.com/SciSharp/TensorFlow.NET) - .NET Standard bindings for Google's TensorFlow for developing, training and deploying Machine Learning models in C# and F#.
- [dotnet/smartcomponents](https://github.com/dotnet/smartcomponents) - Sample intelligent app features provided as reusable .NET components
- [yamadashy/repopack](https://github.com/yamadashy/repopack) - Repopack is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, and Gemini.
- [BerriAI/litellm](https://github.com/BerriAI/litellm) - Python SDK, Proxy Server (LLM Gateway) to call 100+ LLM APIs in OpenAI format - [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq]
- [microsoft/BitNet](https://github.com/microsoft/BitNet) - Official inference framework for 1-bit LLMs
- [microsoft/markitdown](https://github.com/microsoft/markitdown) - Python tool for converting files and office documents to Markdown.

## Samples

- [Azure-Samples/openai-dotnet-samples](https://github.com/Azure-Samples/openai-dotnet-samples)
- [dotnet/ai-samples](https://github.com/dotnet/ai-samples)
- [vicperdana/AspireShopWithSemanticKernel](https://github.com/vicperdana/AspireShopWithSemanticKernel) - Power up your Shopping Cart Application with AI powered by .NET Aspire and Semantic Kernel
- [mehmetozkaya/eshop-distributed](https://github.com/mehmetozkaya/eshop-distributed) - Develop AI-Powered Distributed Architectures using .NET Aspire and GenAI to develop EShop Catalog and Basket microservices integrate with Backing services including PostgreSQL, Redis, RabbitMQ, Keycloak, Ollama and Semantic Kernel to Create Intelligent E-Shop Solutions.
- [Azure-Samples/eShopLite](https://github.com/Azure-Samples/eShopLite) - eShopLite is a set of reference .NET applications implementing an eCommerce site with features like Semantic Search, MCP, Reasoning models and more.
- [microsoft/semantic-kernel/dotnet/samples](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/samples) - Semantic Kernel samples
- [github/awesome-copilot](https://github.com/github/awesome-copilot) - Community-contributed instructions, prompts, and configurations to help you make the most of GitHub Copilot.

## Books

- [Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG](https://www.amazon.com/Building-LLMs-Production-Reliability-Fine-Tuning/dp/B0D4FFPFW8)
- [Super Study Guide: Transformers & Large Language Models](https://www.amazon.com/dp/B0DC4NYLTN/)
- [Hands-On Large Language Models](https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/)
- [LLM Engineer's Handbook: Master the art of engineering large language models from concept to production](https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/)


================================================
FILE: docs/ai/code-assistants.md
================================================
# Code Assistants

## Articles
- [Coding for the Future Agentic World - The promise and reality of autonomous coding agents in 2025](https://addyo.substack.com/p/coding-for-the-future-agentic-world)
- [How I use Claude Code (+ my best tips)](https://www.builder.io/blog/claude-code)
- [How the .NET MAUI Team uses GitHub Copilot for Productivity](https://devblogs.microsoft.com/dotnet/maui-team-copilot-tips/)
- [Reverse Engineering your Software Architecture with Claude Code to Help Claude Code](https://medium.com/nick-tune-tech-strategy-blog/reverse-engineering-your-software-architecture-with-claude-code-to-help-claude-code-1746a7b941bc)

## Videos
- [How to use Claude Code for beginners](https://www.youtube.com/watch?v=U_vwfQBhVSY)
- [How I use Claude Code (+ my best tips)](https://www.youtube.com/watch?v=n7iT5r0Sl_Y)
- [I was using Claude Code wrong... The Ultimate Workflow](https://www.youtube.com/watch?v=UZb0if-7wGE)
- [How Microsoft Developers Use AI in Real-World Coding](https://youtu.be/gieL0bxyTUU)


## Tools
- [anthropics/claude-code](https://github.com/anthropics/claude-code) - Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
- [cline/cline](https://github.com/cline/cline) - Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.
- [zed-industries/zed](https://github.com/zed-industries/zed) - Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
- [plandex-ai/plandex](https://github.com/plandex-ai/plandex) - AI driven development in your terminal. Designed for large, real-world tasks.
- [sourcegraph/cody](https://github.com/sourcegraph/cody) - Type less, code more: Cody is an AI code assistant that uses advanced search and codebase context to help you write and fix code.
- [Doriandarko/o1-engineer](https://github.com/Doriandarko/o1-engineer) - o1-engineer is a command-line tool designed to assist developers in managing and interacting with their projects efficiently.
- [Doriandarko/claude-engineer](https://github.com/Doriandarko/claude-engineer) - Claude Engineer is an interactive command-line interface (CLI) that leverages the power of Anthropic's Claude-3.5-Sonnet model to assist with software development tasks.
- [TabbyML/tabby](https://github.com/TabbyML/tabby) - Self-hosted AI coding assistant
- [stitionai/devika](https://github.com/stitionai/devika) - Devika is an Agentic AI Software Engineer that can understand high-level human instructions, break them down into steps, research relevant information, and write code to achieve the given objective.
- [paul-gauthier/aider](https://github.com/paul-gauthier/aider) - aider is AI pair programming in your terminal
- [continuedev/continue](https://github.com/continuedev/continue) - Continue is the leading open-source AI code assistant. You can connect any models and any context to build custom autocomplete and chat experiences inside VS Code and JetBrains
- [carlrobertoh/CodeGPT](https://github.com/carlrobertoh/CodeGPT) - The leading open-source AI copilot for JetBrains. Connect to any model in any environment, and customize your coding experience in any way you like.
- [All-Hands-AI/OpenHands](https://github.com/All-Hands-AI/OpenHands) - OpenHands: Code Less, Make More
- [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) - Anthropic-managed directory of high quality Claude Code Plugins.

================================================
FILE: docs/ai/embedding-vector.md
================================================
# Embedding & Vector

## Articles
- [Introducing text and code embeddings](https://openai.com/index/introducing-text-and-code-embeddings/)
- [Embedding models](https://ollama.com/blog/embedding-models)
- [Get Started with Milvus Vector DB in .NET](https://devblogs.microsoft.com/dotnet/get-started-milvus-vector-db-dotnet/)
- [Introducing the ML.NET Text Classification API](https://devblogs.microsoft.com/dotnet/introducing-the-ml-dotnet-text-classification-api-preview/)
- [Introduction to Sentence Transformers](https://www.marqo.ai/course/introduction-to-sentence-transformers)
- [Automate vector search in Postgres with any Hugging Face transformer](https://tembo.io/blog/sentence-transformers)
- [How to use Chroma to store and query vector embeddings](https://stephencollins.tech/posts/how-to-use-chroma-to-store-and-query-vector-embeddings)
- [How to use Milvus to Store and Query Vector Embeddings](https://stephencollins.tech/posts/how-to-use-milvus-to-store-and-query-vector-embeddings)
- [Introduction to Vector Search and Embeddings](https://stephencollins.tech/posts/introduction-to-vector-search-and-embeddings)
- [Code Search with Vector Embeddings: A Transformer's Approach](https://stephencollins.tech/posts/code-search-with-vector-embeddings)

## Videos
- [Vector Database Explained | What is Vector Database?](https://www.youtube.com/watch?v=72XgD322wZ8)
- [OpenAI Embeddings and Vector Databases Crash Course](https://www.youtube.com/watch?v=ySus5ZS0b94)

## Libraries
- [neuml/txtai](https://github.com/neuml/txtai) -  All-in-one open-source embeddings database for semantic search, LLM orchestration and language model workflows
- [chroma-core/chroma](https://github.com/chroma-core/chroma) - the AI-native open-source embedding database
- [milvus-io/milvus](https://github.com/milvus-io/milvus) - A cloud-native vector database, storage for next generation AI applications
- [UKPLab/sentence-transformers](https://github.com/UKPLab/sentence-transformers/) - State-of-the-Art Text Embeddings
- [dotnet/smartcomponents](https://github.com/dotnet/smartcomponents) - Sample intelligent app features provided as reusable .NET components

================================================
FILE: docs/ai/langchain.md
================================================
# LangChain

## Resources
- [LangChain Academy](https://academy.langchain.com/collections)

## Articles
- [Build a Retrieval Augmented Generation (RAG) App](https://js.langchain.com/v0.2/docs/tutorials/rag/)

## Videos
- [LangChain Crash Course For Beginners | LangChain Tutorial](https://www.youtube.com/watch?v=nAmC7SoVLd8)
- [LangChain Explained In 15 Minutes - A MUST Learn For Python Programmers](https://www.youtube.com/watch?v=mrjq3lFz23s)
- [The LangChain Cookbook - Beginner Guide To 7 Essential Concepts](https://www.youtube.com/watch?v=2xxziIWmaSA)
- [RAG + Langchain Python Project: Easy AI/Chat For Your Docs](https://www.youtube.com/watch?v=tcqEUSNCn8I)
- [Building Production-Ready RAG Applications: Jerry Liu](https://www.youtube.com/watch?v=TRjq7t2Ms5I)
- [LangChain Master Class For Beginners 2024 [+20 Examples, LangChain V0.2]](https://www.youtube.com/watch?v=yF9kGESAi3M)
- [Python AI Agent Tutorial - Build a Coding Assistant w/ RAG & LangChain](https://www.youtube.com/watch?v=uN7X819DUlQ)

================================================
FILE: docs/ai/llms.md
================================================
# LLMs

## Videos
- [How I use LLMs - Andrej Karpathy](https://www.youtube.com/watch?v=EWvNQjAaOHw)
- [Deep Dive into LLMs like ChatGPT - Andrej Karpathy](https://www.youtube.com/watch?v=7xTGNNLPyMI)
- [Let's build GPT: from scratch, in code, spelled out - Andrej Karpathy](https://www.youtube.com/watch?v=kCc8FmEb1nY)
- [Let's build the GPT Tokenizer - Andrej Karpathy](https://www.youtube.com/watch?v=zduSFxRajkE)

================================================
FILE: docs/ai/mcp.md
================================================
# Model Context Protocol (MCP)

## Resources
- [ModelContextProtocol.Io](https://modelcontextprotocol.io/introduction)
- [microsoft/mcp/Resources](https://github.com/microsoft/mcp/tree/main/Resources) - MCP Resources
- [microsoft/mcp-for-beginners](https://github.com/microsoft/mcp-for-beginners) - This open-source curriculum is designed to teach the concepts and fundamentals of the Model Context Protocol (MCP), with practical examples in .NET, Java, TypeScript, JavaScript and Python.

## Articles
- [Connect Once, Integrate Anywhere with MCP](https://devblogs.microsoft.com/blog/connect-once-integrate-anywhere-with-mcps)
- [Introducing the Awesome GitHub Copilot Customizations repo](https://devblogs.microsoft.com/blog/introducing-awesome-github-copilot-customizations-repo)
- [Integrating Model Context Protocol Tools with Semantic Kernel: A Step-by-Step Guide](https://devblogs.microsoft.com/semantic-kernel/integrating-model-context-protocol-tools-with-semantic-kernel-a-step-by-step-guide/)
- [10 Microsoft MCP Servers to Accelerate Your Development Workflow](https://devblogs.microsoft.com/blog/10-microsoft-mcp-servers-to-accelerate-your-development-workflow)
- [Build a Model Context Protocol (MCP) server in C#](https://devblogs.microsoft.com/dotnet/build-a-model-context-protocol-mcp-server-in-csharp/)
- [Simplifying Model Context Protocol (MCP) Server Development with Aspire](https://nikiforovall.blog/dotnet/2025/04/04/mcp-template-and-aspire.html)
- [MCP Authorization With Dynamic Client Registration](https://blog.christianposta.com/understanding-mcp-authorization-with-dynamic-client-registration/)
- [Understanding MCP Authorization, Step by Step, Part One](https://blog.christianposta.com/understanding-mcp-authorization-step-by-step/)
- [Understanding MCP Authorization, Step by Step, Part Two](https://blog.christianposta.com/understanding-mcp-authorization-step-by-step-part-two/)
- [Understanding MCP Authorization, Step by Step, Part Three](https://blog.christianposta.com/understanding-mcp-authorization-step-by-step-part-three/)
- [Building an MCP Gateway with Apigee API Gateway](https://blog.christianposta.com/building-an-mcp-gateway-on-top-of-apigee/)
- [Deep Dive MCP and A2A Attack Vectors for AI Agents](https://blog.christianposta.com/understanding-mcp-and-a2a-attack-vectors-for-ai-agents/)

## Servers
- [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) - Model Context Protocol Servers
- [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) - A collection of MCP servers.
- [upstash/context7](https://github.com/upstash/context7) - Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors


## Libraries & Tools
- [agentgateway/agentgateway](https://github.com/agentgateway/agentgateway) - Next Generation Agentic Proxy for AI Agents and MCP servers
- [microsoft/mcp-gateway](https://github.com/microsoft/mcp-gateway) - MCP Gateway is a reverse proxy and management layer for MCP servers, enabling scalable, session-aware stateful routing and lifecycle management of MCP servers in Kubernetes environments.

## Samples

- [microsoft/mcp-dotnet-samples](https://github.com/microsoft/mcp-dotnet-samples) - A comprehensive set of samples of creating and using MCP servers and clients with .NET
- [Azure-Samples/azure-ai-travel-agents](https://github.com/Azure-Samples/azure-ai-travel-agents) - The AI Travel Agents is a robust enterprise application (hosted on ACA) that leverages MCP and multiple LamaIndex AI agents to enhance travel agency operations.
- [microsoft/azure-devops-mcp](https://github.com/microsoft/azure-devops-mcp) - The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
- [microsoft/lets-learn-mcp-csharp](https://github.com/microsoft/lets-learn-mcp-csharp)
- [skills/integrate-mcp-with-copilot](https://github.com/skills/integrate-mcp-with-copilot) - Learn how to use MCP Servers with GitHub Copilot
- [christian-posta/mcp-auth-step-by-step](https://github.com/christian-posta/mcp-auth-step-by-step) - Step by step walkthrough of an MCP Authorization implementation


================================================
FILE: docs/ai/ml.net.md
================================================
# ML.Net

## Articles
- [What's new in ML.NET](https://learn.microsoft.com/en-us/dotnet/machine-learning/whats-new/overview)
- [Using Huggingface Transformers with ML.NET](https://rubikscode.net/2021/10/25/using-huggingface-transformers-with-ml-net/)
- [BERT Tokenizers NuGet Package for C#](https://rubikscode.net/2022/09/13/bert-tokenizers-for-ml-net/)

## Libraries
- [dotnet/machinelearning](https://github.com/dotnet/machinelearning) - ML.NET is an open source and cross-platform machine learning framework for .NET.

================================================
FILE: docs/ai/models/hugging-face.md
================================================
# Hugging Face

## Articles
- [Chat Templates](https://huggingface.co/blog/chat-templates)

## Videos
- [Getting Started With Hugging Face in 15 Minutes | Transformers, Pipeline, Tokenizer, Models](https://www.youtube.com/watch?v=QEaBAZQCtwE)
- [What is Hugging Face - Crash Course (No Coding) | ML Products for Beginners](https://www.youtube.com/watch?v=x8gdOPO35HA)

## Libraries
- [huggingface/transformers](https://github.com/huggingface/transformers) - Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
- [huggingface/transformers.js](https://github.com/huggingface/transformers.js) - State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server!

================================================
FILE: docs/ai/models/models.md
================================================
# Models

## Articles
- [Qwen2.5: A Party of Foundation Models!](https://qwenlm.github.io/blog/qwen2.5/)

## Libraries
- [deepseek-ai/DeepSeek-V2](https://github.com/deepseek-ai/DeepSeek-V2) - DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
- [QwenLM/Qwen2.5-Coder](https://github.com/QwenLM/Qwen2.5-Coder) - Qwen2.5-Coder is the code version of Qwen2.5, the large language model series developed by Qwen team, Alibaba Cloud.
- [QwenLM/Qwen2.5](https://github.com/QwenLM/Qwen2.5) - Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud.
- [deepseek-ai/DeepSeek-R1](https://github.com/deepseek-ai/DeepSeek-R1)
- [deepseek-ai/DeepSeek-V3](https://github.com/deepseek-ai/DeepSeek-V3)
- [deepseek-ai/Janus](https://github.com/deepseek-ai/Janus) - Janus-Series: Unified Multimodal Understanding and Generation Models

================================================
FILE: docs/ai/models/ollama.md
================================================
# Ollama

## Resources
- [Ollama Documentation](https://github.com/ollama/ollama/tree/main/docs)

## Articles
- [OpenAI compatibility](https://ollama.com/blog/openai-compatibility)
- [Ollama OpenAI compatibility](https://github.com/ollama/ollama/blob/main/docs/openai.md)
- [Importing a model in Ollama](https://github.com/ollama/ollama/blob/main/docs/import.md)
- [Tool support](https://ollama.com/blog/tool-support)
- [Embedding models](https://ollama.com/blog/embedding-models)
- [An entirely open-source AI code assistant inside your editor](https://ollama.com/blog/continue-code-assistant)
- [Use Ollama with any GGUF Model on Hugging Face Hub](https://huggingface.co/docs/hub/en/ollama)
- [Thinking in ollama](https://ollama.com/blog/thinking)

## Videos
- [Importing Open Source Models to Ollama](https://www.youtube.com/watch?v=fnvZJU5Fj3Q)
- [Adding Custom Models to Ollama](https://www.youtube.com/watch?v=0ou51l-MLCo)
- [Ollama adds OpenAI API support](https://www.youtube.com/watch?v=Zgb2TjZ5zTk)
- [Finally Ollama has an OpenAI compatible API](https://www.youtube.com/watch?v=38jlvmBdBrU)
- [LLAMA-3.1 🦙: EASIET WAY To FINE-TUNE ON YOUR DATA](https://www.youtube.com/watch?v=rpAtVIZB72U)
- [Gen AI Project Using Llama3.1 | End to End Gen AI Project](https://www.youtube.com/watch?v=CO4E_9V6li0)

## Library
- [ollama/ollama](https://github.com/ollama/ollama) - Get up and running with Llama 3.2, Mistral, Gemma 2, and other large language models.
- [meta-llama/codellama](https://github.com/meta-llama/codellama) - Inference code for CodeLlama models

================================================
FILE: docs/ai/models/openai.md
================================================
# OpenAI

## Articles
- [Announcing the stable release of the official OpenAI library for .NET](https://devblogs.microsoft.com/dotnet/announcing-the-stable-release-of-the-official-open-ai-library-for-dotnet/)
- [Introducing GPTs](https://openai.com/blog/introducing-gpts)

## Libraries
- [openai/gpt-oss](https://github.com/openai/gpt-oss) - gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI

================================================
FILE: docs/ai/models/phi.md
================================================
# Phi

## Articles
- [Run Phi-3 SLM on your machine with C# Semantic Kernel and Ollama](https://laurentkempe.com/2024/05/01/run-phi-3-slm-on-your-machine-with-csharp-semantic-kernel-and-ollama/)
- [Using Phi-3 & C# with ONNX for text and vision samples](https://devblogs.microsoft.com/dotnet/using-phi3-csharp-with-onnx-for-text-and-vision-samples-md/)
- [Introducing Phi-4: Microsoft’s Newest Small Language Model Specializing in Complex Reasoning](https://techcommunity.microsoft.com/blog/aiplatformblog/introducing-phi-4-microsoft%E2%80%99s-newest-small-language-model-specializing-in-comple/4357090)

## Books
- [microsoft/Phi-3CookBook](https://github.com/microsoft/Phi-3CookBook) - This is a Phi-3 book for getting started with Phi-3. 


================================================
FILE: docs/ai/prompt-engineering.md
================================================
# Prompt Engineering

## Resources
- [dair-ai/Prompt-Engineering-Guide](https://github.com/dair-ai/Prompt-Engineering-Guide) - Guides, papers, lecture, notebooks and resources for prompt engineering
- [NirDiamant/Prompt_Engineering](https://github.com/NirDiamant/Prompt_Engineering) - This repository offers a comprehensive collection of tutorials and implementations for Prompt Engineering techniques, ranging from fundamental concepts to advanced strategies. 

## Articles
- [The Prompt Engineering Playbook for Programmers](https://addyo.substack.com/p/the-prompt-engineering-playbook-for)

================================================
FILE: docs/ai/rag.md
================================================
# RAG

## Articles
- [Build a Retrieval Augmented Generation (RAG) App](https://js.langchain.com/v0.2/docs/tutorials/rag/)
- [Building a Local RAG System for Privacy Preservation with Ollama and Weaviate](https://weaviate.io/blog/local-rag-with-ollama-and-weaviate)
- [Typical RAG Implementation Using Semantic Kernel, Kernel Memory, and Aspire in .NET](https://nikiforovall.github.io/dotnet/ai/2024/09/04/typical-rag-dotnet.html)
- [Using Phi-3 & C# with ONNX for text and vision samples](https://devblogs.microsoft.com/dotnet/using-phi3-csharp-with-onnx-for-text-and-vision-samples-md/)
- [Introducing Phi-3: Redefining what’s possible with SLMs](https://azure.microsoft.com/en-us/blog/introducing-phi-3-redefining-whats-possible-with-slms/)
- [Optimizing SLM with ONNX Runtime: Phi-3 on CPU with Sidecars for App Service](https://azure.github.io/AppService/2024/08/19/Phi-3-ONNX.html)
- [Building Smarter Apps: Integrating Phi-3 SLM with Linux App Service](https://azure.github.io/AppService/2024/08/05/Using-SLM-with-Sidecar.html)
- [Building an Advanced RAG System With Self-Querying Retrieval](https://www.mongodb.com/developer/products/atlas/advanced-rag-self-querying-retrieval/)
- [Demystifying Retrieval Augmented Generation with .NET](https://devblogs.microsoft.com/dotnet/demystifying-retrieval-augmented-generation-with-dotnet/)
- [Building Intelligent Applications with Local RAG in .NET and Phi-3: A Hands-On Guide](https://techcommunity.microsoft.com/t5/educator-developer-blog/building-intelligent-applications-with-local-rag-in-net-and-phi/ba-p/4175721)
- [Bring your AI Copilots to the edge with Phi-3 and Semantic Kernel
](https://arafattehsin.com/ai-copilot-offline-phi3-semantic-kernel/)

## Videos
- [.NET AI Community Standup - Phi-3 & C#: Bringing AI to your .NET Apps](https://www.youtube.com/watch?v=fbojvzHGtkM)

## Libraries
- [microsoft/kernel-memory](https://github.com/microsoft/kernel-memory) - RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns

## Samples
- [NikiforovAll/notebook-agent](https://github.com/NikiforovAll/notebook-agent) - Demonstrates how to use Semantic Kernel and Kernel Memory in a polyglot notebook environment.
- [luisquintanilla/RAGDotnetAIFundamentals](https://github.com/luisquintanilla/RAGDotnetAIFundamentals) - This sample shows how to apply vanilla / simple RAG pattern using .NET fundamentals in the AI ecosystem

## Books
- [Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG](https://www.amazon.com/Building-LLMs-Production-Reliability-Fine-Tuning/dp/B0D4FFPFW8)

================================================
FILE: docs/ai/semantic-kernel.md
================================================
# Semantic Kernel & .NET AI

## Resources
- [Semantic Kernel documentation](https://learn.microsoft.com/en-us/semantic-kernel/)
- [Semantic Kernel C# Notebooks](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/notebooks)
- [geffzhang/awesome-semantickernel](https://github.com/geffzhang/awesome-semantickernel) - Awesome list of tools and projects with the awesome semantic kernel framework

## Articles
- [What is Semantic Kernel?](https://learn.microsoft.com/en-us/semantic-kernel/overview/)
- [Getting started with Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/get-started/quick-start-guide?pivots=programming-language-csharp)
- [Introducing new Ollama Connector for Local Models](https://devblogs.microsoft.com/semantic-kernel/introducing-new-ollama-connector-for-local-models/)
- [Introducing new Ollama Connector for Local Models](https://devblogs.microsoft.com/semantic-kernel/introducing-new-ollama-connector-for-local-models/)
- [Using Semantic Kernel with Dependency Injection](https://devblogs.microsoft.com/semantic-kernel/using-semantic-kernel-with-dependency-injection/)
- [Observability in Semantic Kernel](https://devblogs.microsoft.com/semantic-kernel/observability-in-semantic-kernel/)
- [Integrating Model Context Protocol Tools with Semantic Kernel: A Step-by-Step Guide](https://devblogs.microsoft.com/semantic-kernel/integrating-model-context-protocol-tools-with-semantic-kernel-a-step-by-step-guide/)
- [Introducing Microsoft.Extensions.AI Preview – Unified AI Building Blocks for .NET](https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-ai-preview/)
- [Introducing Microsoft.Extensions.VectorData Preview](https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-vector-data/)
- [.NET AI Template Now Available in Preview](https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview1/)
- [Preview 2 of the .NET AI Template Now Available](https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview2/)
- [Integrating Model Context Protocol Tools with Semantic Kernel: A Step-by-Step Guide](https://devblogs.microsoft.com/semantic-kernel/integrating-model-context-protocol-tools-with-semantic-kernel-a-step-by-step-guide/)
- [Building a Model Context Protocol Server with Semantic Kernel](https://devblogs.microsoft.com/semantic-kernel/building-a-model-context-protocol-server-with-semantic-kernel/)
- [Microsoft’s Agentic AI Frameworks: AutoGen and Semantic Kernel](https://devblogs.microsoft.com/semantic-kernel/microsofts-agentic-ai-frameworks-autogen-and-semantic-kernel/)
- [AutoGen and Semantic Kernel, Part 2](https://devblogs.microsoft.com/semantic-kernel/semantic-kernel-and-autogen-part-2/)
- [Microsoft’s Agentic Frameworks: AutoGen and Semantic Kernel](https://devblogs.microsoft.com/autogen/microsofts-agentic-frameworks-autogen-and-semantic-kernel/)

## Libraries
- [microsoft/semantic-kernel](https://github.com/microsoft/semantic-kernel) - Integrate cutting-edge LLM technology quickly and easily into your apps

## Samples
- [microsoft/semantic-kernel/dotnet/samples](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/samples)
- [Azure-Samples/eShopOnAzure](https://github.com/Azure-Samples/eShopOnAzure)
- [dotnet/eShop](https://github.com/dotnet/eShop)

================================================
FILE: docs/algorithm.md
================================================
# Algorithms

## Sites
- [https://leetcode.com](https://leetcode.com)
- [https://neetcode.io](https://neetcode.io/practice)

## 📘 Resources

- [teivah/algodeck](https://github.com/teivah/algodeck) - An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview
- [TheAlgorithms/C-Sharp](https://github.com/TheAlgorithms/C-Sharp) - All algorithms implemented in C#.
- [TheAlgorithms/Go](https://github.com/TheAlgorithms/Go) - Algorithms Implemented in GoLang
- [TheAlgorithms/Java](https://github.com/TheAlgorithms/Java) - All Algorithms implemented in Java
- [SeanPrashad/leetcode-patterns](https://github.com/SeanPrashad/leetcode-patterns/tree/solutions)
- [RehanSaeed/.NET-Big-O-Algorithm-Complexity-Cheat-Sheet](https://github.com/RehanSaeed/.NET-Big-O-Algorithm-Complexity-Cheat-Sheet) - Big-O complexities of common algorithms used in .NET and Computer Science.
- [ashishps1/awesome-leetcode-resources](https://github.com/ashishps1/awesome-leetcode-resources) - Awesome LeetCode resources to learn Data Structures and Algorithms and prepare for Coding Interviews

## LeetCode Practices
- [hxu296/leetcode-company-wise-problems-2022](https://github.com/hxu296/leetcode-company-wise-problems-2022) - Lists of company wise questions available on leetcode premium.
- [krishnadey30/LeetCode-Questions-CompanyWise](https://github.com/krishnadey30/LeetCode-Questions-CompanyWise) - Contains Company Wise Questions sorted based on Frequency and all time
- [tangweikun/awesome-leetcode](https://github.com/tangweikun/awesome-leetcode) - A collection of awesome leetcode solutions
- [Blind 75 LeetCode Questions](https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions)
- [LEETCODE PATTERNS](https://seanprashad.com/leetcode-patterns/)
- [Best practice questions](https://www.techinterviewhandbook.org/best-practice-questions)
- [Tech Interview Handbook](https://leetcode.com/list/9h4lgwl2/)
- [Grind 75 questions](https://www.techinterviewhandbook.org/grind75)
- [guobinhit/myleetcode](https://github.com/guobinhit/myleetcode) - Detailed Java & Go solution of LeetCode.
- [haoel/leetcode](https://github.com/haoel/leetcode) - LeetCode Problems' Solutions
- [youngyangyang04/leetcode-master](https://github.com/youngyangyang04/leetcode-master)
- [fishercoder1534/Leetcode](https://github.com/fishercoder1534/Leetcode) - Solutions to LeetCode problems; updated daily. Subscribe to my YouTube channel for more
- [pezy/LeetCode](https://github.com/pezy/LeetCode) - LeetCode solutions in C++ 11 and Python3
- [gouthampradhan/leetcode](https://github.com/gouthampradhan/leetcode) - Leetcode solutions
- [qiyuangong/leetcode](https://github.com/qiyuangong/leetcode) - Python & JAVA Solutions for Leetcode
- [pezy/LeetCode](https://github.com/pezy/LeetCode)
- [MaskRay/LeetCode](https://github.com/MaskRay/LeetCode) - Solutions of LeetCode Online Judge
- [MisterBooo/LeetCodeAnimation](https://github.com/MisterBooo/LeetCodeAnimation) - Demonstrate all the questions on LeetCode in the form of animation.
- [gouthampradhan/leetcode](https://github.com/gouthampradhan/leetcode) - Leetcode solutions
- [Blankj/awesome-java-leetcode](https://github.com/Blankj/awesome-java-leetcode) - LeetCode of algorithms with java solution(updating).
- [fishercoder1534/Leetcode](https://github.com/fishercoder1534/Leetcode) - Demonstrate all the questions on LeetCode in the form of animation.
- [aQuaYi/LeetCode-in-Go](https://github.com/aQuaYi/LeetCode-in-Go) - Go Solution for LeetCode algorithms problems, 100% coverage.
- [youngyangyang04/leetcode-master](https://github.com/youngyangyang04/leetcode-master)
- [luliyucoordinate/Leetcode](https://github.com/luliyucoordinate/Leetcode) - Play Leetcode with different programming language

## Articles
- [LeetCode Prep for a Senior+ Software Engineer](https://trstringer.com/leetcode-prep-senior-plus/)
- [LeetCode was HARD until I Learned these 15 Patterns](https://blog.algomaster.io/p/15-leetcode-patterns)

## 📺 Videos
- [LeetCode PlayList - Fisher Coder](https://www.youtube.com/playlist?list=PLK0ZC7fyo01Jr4CwyEGPB_YYVYqoJS7LR)

# Experiences 
- [LeetCode - Interview Experience](https://leetcode.com/discuss/interview-experience)

## Tools
- [LeetCode-OpenSource/vscode-leetcode](https://github.com/LeetCode-OpenSource/vscode-leetcode) - Solve LeetCode problems in VS Code

================================================
FILE: docs/anti-patterns/anti-patterns.md
================================================
# Anti Patterns

## 📘 Resources
- [Anti Patterns](https://deviq.com/antipatterns/antipatterns-overview) 

## 📕 Articles
- [Are These Six Software Anti-patterns Killing Your Delivery?](https://medium.com/expedia-group-tech/six-software-anti-patterns-that-kill-your-delivery-4fed09cc1a2b)


================================================
FILE: docs/anti-patterns/big-ball-of-mud.md
================================================
# Big Ball of Mud

## 📕 Articles

- [Big Ball of Mud - DevIQ](https://deviq.com/antipatterns/big-ball-of-mud)
- [Big Ball of Mud - The Daily Software Anti-Pattern](https://exceptionnotfound.net/big-ball-of-mud-the-daily-software-anti-pattern/)
- [What is the Big Ball of Mud Anti-Pattern?](https://exceptionnotfound.net/big-ball-of-mud-anti-pattern-primers/)

================================================
FILE: docs/anti-patterns/code-smells.md
================================================
# Code Smells

## 📕 Articles

- [Code Smells - DevIQ](https://deviq.com/antipatterns/code-smells) 




================================================
FILE: docs/anti-patterns/god-object.md
================================================
# God Object

## 📕 Articles
- [God Objects](https://exceptionnotfound.net/god-objects-the-daily-software-anti-pattern/)

================================================
FILE: docs/anti-patterns/leaky-abstractions.md
================================================
# Leaky Abstractions

## 📕 Articles
- [Clean Architecture Example & Breakdown](https://codeopinion.com/clean-architecture-example-breakdown/)
## 📺 Videos
- [Clean Architecture Example & Breakdown - Do I use it?](https://www.youtube.com/watch?v=Ys_W6MyWOCw)

================================================
FILE: docs/anti-patterns/partial-object.md
================================================
# Partial/Optional Object

## 📕 Articles
- [Don't POOP - The Partial/Optional Object Population Anti-Pattern](https://scotthannen.org/blog/2021/04/19/partial-optional-object-population.html)


================================================
FILE: docs/anti-patterns/static-cling.md
================================================
# Static Cling

## 📕 Articles

- [Static Cling - DevIQ](https://deviq.com/antipatterns/static-cling)
- [Static methods considered evil?](https://enterprisecraftsmanship.com/posts/static-methods-evil/)

================================================
FILE: docs/architectural-design-principles/architectural-design-principles.md
================================================
# Architectural Design Principles

## 📘 Resources
- [chanakaudaya/solution-architecture-patterns](https://github.com/chanakaudaya/solution-architecture-patterns) - Reusable, vendor-neutral, industry-specific, vendor-specific solution architecture patterns for enterprise
- [Architectural Styles vs. Architectural Patterns vs. Design Patterns](https://herbertograca.com/2017/07/28/architectural-styles-vs-architectural-patterns-vs-design-patterns/)
- [Architectural principles](https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles) 
- [Principles](https://deviq.com/principles/principles-overview) 
- [10 Crucial Software Development Principles to Live By](https://www.laneways.agency/software-development-principles/)
- [10 OOP Design Principles Every Programmer Should Know](https://hackernoon.com/10-oop-design-principles-every-programmer-should-know-f187436caf65)
- [Design Principles](https://java-design-patterns.com/principles/) - java-design-patterns.com
- [Principles](http://principles-wiki.net/principles:start) - principles-wiki.net




================================================
FILE: docs/architectural-design-principles/cap.md
================================================
# CAP Theorem

## Articles
- [System design fundamentals: What is the CAP theorem?](https://www.educative.io/blog/what-is-cap-theorem)
- [The CAP theorem of domain modeling](https://vkhorikov.medium.com/the-cap-theorem-of-domain-modeling-2e3763301caf)
- [CAP Theorem Explained](https://blog.algomaster.io/p/cap-theorem-explained)
- [An Illustrated Proof of the CAP Theorem](https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/)
- [CAP Theorem: Revisited](https://robertgreiner.com/cap-theorem-revisited/)
- [CAP Theorem: Explained](https://robertgreiner.com/cap-theorem-explained/)
- [What is the CAP theorem?](https://www.educative.io/blog/what-is-cap-theorem)
- [Understanding CAP Theorem: Balancing Consistency, Availability, and Partition Tolerance in Distributed Systems](https://factor-bytes.com/2023/07/22/understanding-cap-theorem-balancing-consistency-availability-and-partition-tolerance-in-distributed-systems/)

## 📺 Videos
- [My thoughts on the CAP theorem](https://www.youtube.com/watch?v=KmGy3sU6Xw8)
- [Does CAP Theorem apply to Microservices?](https://www.youtube.com/watch?v=PgHMtMmSn9s)

================================================
FILE: docs/architectural-design-principles/cohesion.md
================================================
# Cohesion

## 📕 Articles
- [Highly COHESIVE Software Design to tame Complexity](https://codeopinion.com/highly-cohesive-software-design-to-tame-complexity/)
## 📺 Videos
- [Highly COHESIVE Software Design to tame Complexity](https://www.youtube.com/watch?v=r0-GC3Y_OME)



================================================
FILE: docs/architectural-design-principles/coupling.md
================================================
# Minimize Coupling

## 📕 Articles
- [Write Stable Code using Coupling Metrics](https://codeopinion.com/write-stable-code-using-coupling-metrics/)
- [Why is loose coupling between services so important?](https://www.ben-morris.com/why-is-loose-coupling-between-services-so-important/) 

## 📺Videos
- [Write Stable Code using Coupling Metrics](https://www.youtube.com/watch?v=wRVbHDkOMSM&feature=emb_title)



================================================
FILE: docs/architectural-design-principles/cqs.md
================================================
# Command Query Separation

================================================
FILE: docs/architectural-design-principles/cross-cutting-concerns.md
================================================

# Cross Cutting Concerns

## 📕 Articles

- [Crosscutting Concerns](<https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ee658105(v=pandp.10)>) 
- [A Brief Intro to Clean Architecture, Clean DDD, and CQRS](https://blog.jacobsdata.com/2020/02/19/a-brief-intro-to-clean-architecture-clean-ddd-and-cqrs) 
- [Managing Cross Cutting Concerns – Logging](https://www.cshandler.com/2015/10/managing-cross-cutting-concerns-logging.html)
- [Cross cutting concern example](https://stackoverflow.com/questions/23700540/cross-cutting-concern-example)
- [cross cutting concern](https://medium.com/anatta-design/cross-cutting-concern-aadf4f51a5c1)
- [Cross-Cutting Concerns for An Enterprise Application](https://dzone.com/articles/cross-cutting-concerns-for-an-enterprise-applicati)
- [Terminology: cross cutting concern](https://crosscuttingconcerns.com/Terminology-cross-cutting-concern)
- [Crosscutting Concerns](https://oncodedesign.com/crosscutting-concerns/)
- [Using the Decorator Pattern to handle cross-cutting concerns](https://www.davideguida.com/using-decorators-to-handle-cross-cutting-concerns/)
- [Chain of Responsibility pattern for handling cross-cutting concerns](https://arturkrajewski.silvrback.com/chain-of-responsibility-pattern-for-handling-cross-cutting-concerns)
- [Using the Decorator Pattern to handle cross-cutting concerns](https://www.davidguida.net/using-decorators-to-handle-cross-cutting-concerns/)
- [Tackling cross-cutting concerns with a mediator pipeline](https://lostechies.com/jimmybogard/2014/09/09/tackling-cross-cutting-concerns-with-a-mediator-pipeline/)
- [MediatR Pipeline Examples](https://lostechies.com/jimmybogard/2016/10/13/mediatr-pipeline-examples/)
- [Mediator Behaviors](https://github.com/jbogard/MediatR/wiki/Behaviors)
- [Applying cross-cutting concerns in ASP.NET Core with MediatR using behaviors](https://lurumad.github.io/cross-cutting-concerns-in-asp-net-core-with-meaditr)
- [Meanwhile... on the command side of my architecture](https://blogs.cuttingedge.it/steven/posts/2011/meanwhile-on-the-command-side-of-my-architecture/)
- [How to use MediatR Pipeline Behaviours](https://garywoodfine.com/how-to-use-mediatr-pipeline-behaviours/)
- [MediatR Behaviors](https://codeopinion.com/mediatr-behaviors/)


================================================
FILE: docs/architectural-design-principles/dependency-inversion.md
================================================
# Dependency Inversion

## 📕 Articles

- [Singleton vs Dependency Injection](https://enterprisecraftsmanship.com/posts/singleton-vs-dependency-injection/)
- [Don’t Call Constructors Unless You Have No Choice, And You Always Have a Choice](https://scotthannen.org/blog/2018/04/03/tame-your-dependency-injection-registration.html)
- [Dependency Inversion Principle - DevIQ](https://deviq.com/principles/dependency-inversion-principle)
- [DIP in the Wild](https://martinfowler.com/articles/dipInTheWild.html)
## 📺 Videos

- [The refactoring test (1) - Dependency Inversion & Unit tests | Cracking the .NET interview](https://www.youtube.com/watch?v=U3QvTaw224o)

## 🚀 Samples
- [TanvirArjel/SolidPrinciples](https://github.com/TanvirArjel/SolidPrinciples) - Contains the clear examples of SOLID deign principles.



================================================
FILE: docs/architectural-design-principles/dry.md
================================================
# Dry

## 📕 Articles

- [Don't Repeat Yourself](https://deviq.com/principles/dont-repeat-yourself)
- [DRY is a footgun, remember to YAGNI](https://swizec.com/blog/dry-is-a-footgun-remember-to-yagni/)
- [DRY is about Knowledge](https://verraes.net/2014/08/dry-is-about-knowledge/)
- [Why DRY? ](https://blog.ploeh.dk/2014/08/07/why-dry/)

================================================
FILE: docs/architectural-design-principles/encapsulation.md
================================================
# Encapsulation

## 📕 Articles

 - [Encapsulation - DevIQ](https://deviq.com/principles/encapsulation)

================================================
FILE: docs/architectural-design-principles/fail-fast.md
================================================
# Fail-Fast

## 📕 Articles

- [Fail Fast - DevIQ](https://deviq.com/principles/fail-fast)
- [Fail Fast principle - Vladimir Khorikov](https://enterprisecraftsmanship.com/posts/fail-fast-principle/)



================================================
FILE: docs/architectural-design-principles/favor-composition-over-inheritance.md
================================================
# Favor Composition Over Inheritance

## 📕 Articles
- [Favor Composition over Inheritance](https://icodemag.com/favor-composition-over-inheritance/)
- [Why you should favor composition over inheritance](https://dev.to/romansery/why-you-should-favor-composition-over-inheritance-57m6)
- [Composition vs Inheritance](https://www.journaldev.com/12086/composition-vs-inheritance)

## 📺 Videos
- [Composition over Inheritance](https://www.youtube.com/watch?v=wfMtDGfHWpA)
- [The Power of Composition - Scott Wlaschin - NDC Oslo 2020](https://www.youtube.com/watch?v=rCKPgu4DvcE)

================================================
FILE: docs/architectural-design-principles/grasp.md
================================================

# GRASP

## 📕 Articles

- [GRASP – General Responsibility Assignment Software Patterns Explained](https://www.kamilgrzybek.com/design/grasp-explained/)



================================================
FILE: docs/architectural-design-principles/interface-segregation.md
================================================
# Interface Segregation

## 📕 Articles
- [Interface Segregation Principle - DevIQ](https://deviq.com/principles/interface-segregation)

================================================
FILE: docs/architectural-design-principles/inversion-control.md
================================================
# Inversion Of Control

## 📕 Articles
- [SOLID Wash Tunnel - IoC Container](https://www.ledjonbehluli.com/posts/wash-tunnel/ioc_container/)
- [SOLID Wash Tunnel - Dependency Injection](https://www.ledjonbehluli.com/posts/wash-tunnel/dependency_injection/)

## 📺 Videos
- [SOLID Principles for C# Developers](https://www.pluralsight.com/courses/csharp-solid-principles)


================================================
FILE: docs/architectural-design-principles/kiss.md
================================================

# KISS

## 📕 Articles

- [KISS - Java-Design-Patterns](https://java-design-patterns.com/principles/#kiss) 
- [Principles of Good Programming](https://www.artima.com/weblogs/viewpost.jsp?thread=331531)
- [Keep It Simple Stupid (KISS)](http://principles-wiki.net/principles:keep_it_simple_stupid) 
- [Keep It Simple - DevIQ](https://deviq.com/principles/keep-it-simple) 




================================================
FILE: docs/architectural-design-principles/open-closed-principles.md
================================================
# Open/Closed Principles

## 📕 Articles
- [Open-Closed Principle - DevIQ](https://deviq.com/principles/open-closed-principle)
- [SOLID Design in C#: The Open-Close Principle (OCP)](https://blog.ndepend.com/solid-design-the-open-close-principle-ocp/)

## 📺 Videos

- [The refactoring test (2) - Open-Closed, Single Responsibility | Cracking the .NET interview](https://www.youtube.com/watch?v=Yd4GnWeEkIY)
- [SOLID Principles for C# Developers](https://www.pluralsight.com/courses/csharp-solid-principles)
- [SOLID: Open closed principle (OCP) made easy](https://www.youtube.com/watch?v=ozV4gsRIqlU)
## 🚀 Samples
- [TanvirArjel/SolidPrinciples](https://github.com/TanvirArjel/SolidPrinciples) - Contains the clear examples of SOLID deign principles.



================================================
FILE: docs/architectural-design-principles/persistence-ignorance.md
================================================

# Persistence Ignorance

## 📕 Articles

- [Persistence Ignorance](https://deviq.com/principles/persistence-ignorance) 
- [Understanding Persistence Ignorance Principle](http://techxposer.com/2018/12/29/understanding-persistence-ignorance-principle/)
- [Infrastructure Ignorance](https://ayende.com/blog/3137/infrastructure-ignorance) 
- [Persistence Ignorance](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice#the-domain-model-layer) 



================================================
FILE: docs/architectural-design-principles/single-responsibility.md
================================================
# Single Responsibility

## 📕 Articles
- [Single Responsibility Principle - DevIQ](https://deviq.com/principles/single-responsibility-principle)
- [SOLID Design in C#: The Single Responsibility Principle (SRP)](https://blog.ndepend.com/solid-design-the-single-responsibility-principle-srp/)

## 📺 Videos
- [SOLID: Single responsibility principle (SRP) made eas](https://www.youtube.com/watch?v=2JAS5hL1T7w)
- [SOLID Principles for C# Developers](https://www.pluralsight.com/courses/csharp-solid-principles)

## 🚀 Samples
- [TanvirArjel/SolidPrinciples](https://github.com/TanvirArjel/SolidPrinciples) - Contains the clear examples of SOLID deign principles.

================================================
FILE: docs/architectural-design-principles/solid.md
================================================
# Solid

## 📕 Articles
- [SOLID - DevIQ](https://deviq.com/principles/solid)
- [Solid Principles with C# .NET Core with Real-World Usage](https://procodeguide.com/design/solid-principles-with-csharp-net-core/)
- [SOLID Principles in C#](https://steven-giesel.com/blogPost/a252f2da-1ae8-4449-9b5f-43657308eabb)
- [SOLID Design in C#: The Single Responsibility Principle (SRP)](https://blog.ndepend.com/solid-design-the-single-responsibility-principle-srp/)
- [SOLID Design in C#: The Open-Close Principle (OCP)](https://blog.ndepend.com/solid-design-the-open-close-principle-ocp/)
- [Mastering SOLID Principles in C#: A Practical Guide](https://www.syncfusion.com/blogs/post/mastering-solid-principles-csharp)

# Videos
- [SOLID Principles for C# Developers](https://www.pluralsight.com/courses/csharp-solid-principles)

## 🚀 Samples
- [TanvirArjel/SolidPrinciples](https://github.com/TanvirArjel/SolidPrinciples) - Contains the clear examples of SOLID deign principles.

================================================
FILE: docs/architectural-design-principles/yagni.md
================================================
# YAGNI

## 📕 Articles
- [Yagni - Martin Fowler](https://martinfowler.com/bliki/Yagni.html)
- [YAGNI - DevIQ](https://deviq.com/principles/yagni) 
- [YAGNI - java-design-patterns](https://java-design-patterns.com/principles/#yagni) 
- [DRY is a footgun, remember to YAGNI](https://swizec.com/blog/dry-is-a-footgun-remember-to-yagni/)


================================================
FILE: docs/architecture-documententation.md
================================================
# Architecture Documentation (ADR)

## Resources
- [arc42/arc42-template](https://github.com/arc42/arc42-template) - arc42 - the template for software architecture documentation and communication
- [joelparkerhenderson/architecture-decision-record](https://github.com/joelparkerhenderson/architecture-decision-record) - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
- [C4Model.com](https://c4model.com)

## Articles
- [Architecture Decision Records](https://endjin.com/blog/2023/07/architecture-decision-records)
- [Documenting software architecture with arc42](https://www.innoq.com/en/blog/2022/08/brief-introduction-to-arc42/)
- [Demystifying Architectural Decision Records: Why Every Project Needs Them](https://www.dandoescode.com/blog/demystifying-architectural-decision-records-why-every-project-needs-them)

## 📺 Videos

- [Architecture Decision Records (ADR) as a LOG that answers "WHY?"](https://www.youtube.com/watch?v=6H6zfCNeqek)

## Samples
- [bitsmuggler/arc42-c4-software-architecture-documentation-example](https://github.com/bitsmuggler/arc42-c4-software-architecture-documentation-example)
- [milanm/architecture-docs](https://github.com/milanm/architecture-docs) - Software architecture documentation example that uses arc42 and C4 Model with AsciiDoc




================================================
FILE: docs/azure/aks.md
================================================
# Azure Kubernetes Service (AKS)

## 📘 Resources
- [Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/aks/)
- [Architect modern applications in Azure](https://docs.microsoft.com/en-us/learn/paths/architect-modern-apps/)
- [Kubernetes Learning Path](https://azure.microsoft.com/en-us/resources/kubernetes-learning-path/)

## Samples
- [Azure-Samples/aks-store-demo](https://github.com/Azure-Samples/aks-store-demo) ⭐ - Sample microservices app for AKS demos, tutorials, and experiments

================================================
FILE: docs/azure/azure-api-management.md
================================================
# Azure API Management

## 📘 Resources
- [Architect API integration in Azure](https://docs.microsoft.com/en-us/learn/paths/architect-api-integration/)
- [API Management documentation](https://docs.microsoft.com/en-us/azure/api-management/)

## 📕 Articles

## 📺 Videos
- [The Ultimate Azure API Management Course](https://www.youtube.com/watch?v=K-tYU8GOUt0)

================================================
FILE: docs/azure/azure-app-service-plan.md
================================================
# Azure AppService Plan

## 📺 Videos
- [Azure App Service Plans](https://www.youtube.com/watch?v=YV23WNtQZmw)

================================================
FILE: docs/azure/azure-app-service.md
================================================
# Azure App Service

## 📘 Resources
- [Deploy a website to Azure with Azure App Service](https://docs.microsoft.com/en-us/learn/paths/deploy-a-website-with-azure-app-service/)
- [Migrate ASP.NET Apps to Azure](https://docs.microsoft.com/en-us/learn/paths/migrate-dotnet-apps-azure/)
- [Architect modern applications in Azure](https://docs.microsoft.com/en-us/learn/paths/architect-modern-apps/)
- [Azure Static Web Apps](https://docs.microsoft.com/en-us/learn/paths/azure-static-web-apps/)
- [AZ-400: Develop an instrumentation strategy](https://docs.microsoft.com/en-us/learn/paths/az-400-develop-instrumentation-strategy/)
- [Build serverless, full stack applications in Azure](https://docs.microsoft.com/en-us/learn/paths/build-serverless-full-stack-apps-azure/)
- [Migrate an ASP.NET web application to Azure with Visual Studio](https://docs.microsoft.com/en-us/learn/paths/migrate-aspnet-web-application/)

## 📕 Articles
- [Introduction to Azure App Service - part 1 (The overview)](https://www.azurebarry.com/introduction-to-azure-app-service-part-1/)
- [Introduction to Azure App Service - part 2 (Hosting Web Applications with Web Apps)](https://www.azurebarry.com/introduction-to-azure-app-service-part-2-the-overview/)
- [Introduction to Azure App Service - part 3 (Providing a Backend for Your Mobile Applications with Mobile Apps)](https://www.azurebarry.com/introduction-to-azure-app-service-part-3-the-overview/)
- [Introduction to Azure App Service - part 4 (Respond to Events with Azure Functions)](https://www.azurebarry.com/introduction-to-azure-app-service-part-4-providing-a-backend-for-your-mobile-applications-with-mobile-apps/)

## 📺 Videos
- [Azure App Service Introduction](https://azure4everyone.com/posts/2019/07/app-service-intro/)
- [Continuous Deployment using App Service Deployment Center](https://azure4everyone.com/posts/2019/09/appservice-deployment-center/)

================================================
FILE: docs/azure/azure-arc.md
================================================
# Azure Arc

## 📕 Articles
- [Azure Arc for Developers](https://techcommunity.microsoft.com/t5/itops-talk-blog/azure-arc-for-developers/ba-p/2561513)

## 📺 Videos
- [Manage your hybrid cloud environment using Azure Arc](https://channel9.msdn.com/Shows/IT-Ops-Talk/Manage-your-hybrid-cloud-environment-using-Azure-Arc)

================================================
FILE: docs/azure/azure-cloud.md
================================================

# Azure Cloud

## 📘 Resources
- [lukemurraynz/awesome-azure-architecture](https://github.com/lukemurraynz/awesome-azure-architecture)
- [Azure Docs](docs.microsoft.com/en-us/azure)
- [Azure Learn](https://dotnet.microsoft.com/learn/azure/architecture)
- [The Azure Kubernetes Service (AKS) Architecture Map](https://techcommunity.microsoft.com/t5/azure-developer-community-blog/the-azure-kubernetes-service-aks-architecture-map/ba-p/1078714)
- [The Cloud-native Azure Application Architect Map](https://techcommunity.microsoft.com/t5/azure-developer-community-blog/the-cloud-native-azure-application-architect-map/ba-p/812242)
- [The Azure Infrastructure Architect Map](https://techcommunity.microsoft.com/t5/azure-developer-community-blog/the-azure-infrastructure-architect-map/ba-p/766268)
- [The Azure Solution Architect Map](https://techcommunity.microsoft.com/t5/azure-developer-community-blog/the-azure-solution-architect-map/ba-p/689700)
- [The Azure Security Architect Map](https://techcommunity.microsoft.com/t5/azure-developer-community-blog/the-azure-security-architect-map/ba-p/714091)
- [microsoft/azuretipsandtricks](https://github.com/microsoft/azuretipsandtricks) 
- [ddneves/awesome-azure-learning](https://github.com/ddneves/awesome-azure-learning)
- [Microsoft Certified: Azure Developer Associate](https://docs.microsoft.com/en-us/learn/certifications/azure-developer/)
- [Free azure training (70-533)](http://www.cloudranger.net/azure-training/)
- [AZ-900 Microsoft Azure Fundamentals Free Full Course and Study Guide](https://marczak.io/az-900/)

## 📺 Videos
- [hlukemurraynz/awesome-azure-architecture](https://github.com/lukemurraynz/awesome-azure-architecture)
- [Azure Fundamentals part 1: Describe core Azure concepts](https://docs.microsoft.com/en-us/learn/paths/az-900-describe-cloud-concepts/)
- [Azure Fundamentals part 2: Describe core Azure services](https://docs.microsoft.com/en-us/learn/paths/az-900-describe-core-azure-services/)
- [Azure Fundamentals part 3: Describe core solutions and management tools on Azure](https://docs.microsoft.com/en-us/learn/paths/az-900-describe-core-solutions-management-tools-azure/)
- [Azure Fundamentals part 4: Describe general security and network security features](https://docs.microsoft.com/en-us/learn/paths/az-900-describe-general-security-network-security-features/)
- [Azure Fundamentals part 5: Describe identity, governance, privacy, and compliance features](https://docs.microsoft.com/en-us/learn/paths/az-900-describe-identity-governance-privacy-compliance-features/)
- [Azure Playlist - Rahul Nath](https://www.youtube.com/playlist?list=PL59L9XrzUa-n7jlb-bPuaY4TE-yCYNUnb)
- [Azure Tutorials Playlist - Nick Chapsas](https://www.youtube.com/playlist?list=PLUOequmGnXxPPcrN0PFclBABXEckcPzYY)
- [Microsoft Azure for Beginners - Introduction to Azure Services Playlist - Adam Marczak](https://www.youtube.com/playlist?list=PLGjZwEtPN7j96A9JNpA4ouI3bH-uWZ0Ht)
- [Azure Playlist - Mohamad Lawand](https://www.youtube.com/playlist?list=PLcvTyQIWJ_ZrrcBn_tQ0Ny1VwJFpUIf5r)
- [Exploring Azure [EP 1] - General Overview](https://www.youtube.com/watch?v=0ZX76tr7myQ)

## 📕 Articles
- [Cars Island Car Rental on the Azure cloud - part 1](https://daniel-krzyczkowski.github.io/Cars-Island-Car-Rental-On-Azure-Cloud/)
- [Modern application development](https://azure.microsoft.com/en-us/solutions/modern-application-development/)

## 🚀 Samples
- [Daniel-Krzyczkowski/MicrosoftAzure](https://github.com/Daniel-Krzyczkowski/MicrosoftAzure) - Microsoft Azure code samples.
- [Daniel-Krzyczkowski/Cars-Island-On-Azure](https://github.com/Daniel-Krzyczkowski/Cars-Island-On-Azure) - Cars Island is a fake car rental company which used Microsoft Azure cloud services to implement the system for managing car renting.
- [Daniel-Krzyczkowski/Smart-Accounting](https://github.com/Daniel-Krzyczkowski/Smart-Accounting) - This repository contains a solution for collecting invoices in a digital way.
- [Azure-Samples/container-apps-store-api-microservice](https://github.com/Azure-Samples/container-apps-store-api-microservice) - Sample microservices solution using Azure Container Apps, Dapr, Cosmos DB, and Azure API Management
- [Daniel-Krzyczkowski/Cloud-Pharmacy-On-Azure](https://github.com/Daniel-Krzyczkowski/Cloud-Pharmacy-On-Azure) - Cloud Pharmacy is a fake medical company which used Microsoft Azure cloud services to implement the system for patients, physicians, and medicaments store.
## 📦 Libraries
- [Azure/azure-libraries-for-net](https://github.com/Azure/azure-libraries-for-net) - Azure libraries for .Net
- [Azure/Azurite](https://github.com/Azure/Azurite)

## Courses
- [Developing Solutions for Microsoft Azure (AZ-204)](https://www.pluralsight.com/paths/developing-solutions-for-microsoft-azure-az-204)

	


================================================
FILE: docs/azure/azure-configuration.md
================================================
# Azure App Configuration

## 📺 Videos
- [AZURE APP CONFIGURATION | Central Store For Application Configuration | ASP.NET Core Series](https://www.youtube.com/watch?v=VEjYW14WKRM&t=3s)
- [FEATURE FLAGS in ASP NET Core | Azure App Configuration | Getting Started With ASP.NET Core Series](https://www.youtube.com/watch?v=qtp90IYMRh8&)
- [ENVIRONMENT SPECIFIC APP CONFIGURATION - 5 Ways To Manage For ASP NET on AZURE | ASP.NET Core Series](https://www.youtube.com/watch?v=wTSu2aCoR7Y&)
- [Feature flags with .NET and Azure App Configuration](https://www.youtube.com/watch?v=CcbUqdh8Xw8)
- [CONFIGURATION in ASP.NET Core | Getting Started With ASP.NET Core Series](https://www.youtube.com/watch?v=5GlgHV_12-k)


================================================
FILE: docs/azure/azure-functions.md
================================================

# Azure Functions / Azure Serverless

## 📘 Resources
- [Azure Functions documentation](https://docs.microsoft.com/en-us/azure/azure-functions/)
- [Create serverless applications](https://docs.microsoft.com/en-us/learn/paths/create-serverless-applications/)

## 📕 Articles
- [Introduction to Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview)
- [Build event-driven solutions with Azure Functions and Cosmos DB](https://www.youtube.com/watch?v=8WMjRIw6QzQ)
- [Azure Functions in practice](https://www.troyhunt.com/azure-functions-in-practice/)
- [Azure Functions triggers and bindings concepts](https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings)
- [Azure Blob storage bindings for Azure Functions overview](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob)
- [Azure Functions HTTP triggers and bindings overview](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook)
- [RabbitMQ bindings for Azure Functions overview](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-rabbitmq)
- [Azure Service Bus bindings for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus)
- [Connect functions to Azure services using bindings](https://docs.microsoft.com/en-us/azure/azure-functions/add-bindings-existing-function)
## 📺 Videos
- [Azure Function Apps Tutorial | Introduction for serverless programming](https://www.youtube.com/watch?v=Vxf-rOEO1q4)
- [Azure Functions: Step by Step Project](https://www.youtube.com/watch?v=Ft34VWPpiA4)
- [Intro to Azure Functions - What they are and how to create and deploy them](https://www.youtube.com/watch?v=zIfxkub7CLY)
- [Migrating Your API to Serverless using Azure Functions](https://www.youtube.com/watch?v=89WXgaY-NqY)
- [C# Azure Functions Tutorial - Queue Trigger | Part 1](https://www.youtube.com/watch?v=tZf1zR07yfw)
- [Exploring Azure [EP 2] - Azure Functions (Part 1)](https://www.youtube.com/watch?v=a4e1eh6MoSU)
- [Exploring Azure [EP 3] - Azure Functions (Part 2)](https://www.youtube.com/watch?v=njJN3MfU218)
- [Azure FUNCTION Tutorial | Blob Trigger example with C#](https://www.youtube.com/watch?v=zQP9TBGEoDE)
- [Azure Functions, GitHub Actions and .NET 5 Isolated Processes](https://www.youtube.com/watch?v=ZEV9MSqOsts)
- [DEPENDENCY INJECTION In AZURE FUNCTIONS⚡| Azure Series](https://www.youtube.com/watch?v=m_jrALXcrXc
- [AZURE FUNCTION ⚡ - Integrate with Azure Queue Storage | Getting Started With ASP.NET Core Series](https://www.youtube.com/watch?v=27OUTVdK2_0)
## 🚀 Samples
- [burkeholland/heroes-api](https://github.com/burkeholland/heroes-api)
- [ariksman/MoviesAzureFuncApi](https://github.com/ariksman/MoviesAzureFuncApi)
- [jedi91/MovieSearch](https://github.com/jedi91/MovieSearch)
- [ShawnShiSS/clean-architecture-azure-cosmos-db](https://github.com/ShawnShiSS/clean-architecture-azure-cosmos-db) - A starting point to build a web API to work with Azure Cosmos DB using .NET 5 and Azure Cosmos DB .NET SDK V3, based on Clean Architecture and repository design pattern. Partition key is also implemented through the repository pattern.

## 📦 Libraries
- [JamesRandall/FunctionMonkey](https://github.com/JamesRandall/FunctionMonkey) - Write more elegant Azure Functions with less boilerplate, more consistency, and support for REST APIs.
- [smithgeek/voyager](https://github.com/smithgeek/voyager) - Alternative routing system for aspnet api applications.

================================================
FILE: docs/azure/azure-load-balancing.md
================================================
# Load Balancing

## 📘 Resources

- [Improve application scalability and resiliency by using Azure Load Balancer](https://docs.microsoft.com/en-us/learn/modules/improve-app-scalability-resiliency-with-load-balancer/)
- [Load balance your web service traffic with Application Gateway](https://docs.microsoft.com/en-us/learn/modules/load-balance
Download .txt
gitextract_ywb1khq9/

├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       └── ci.yml
├── .gitignore
├── LICENSE
├── Program.cs
├── README.md
├── ReleaseNotes.csproj
├── contributing.md
├── docs/
│   ├── README.md
│   ├── abstraction.md
│   ├── actor-model-architecture/
│   │   ├── actor-model-architecture.md
│   │   ├── akka-net.md
│   │   ├── orleans.md
│   │   └── protoactor.md
│   ├── ai/
│   │   ├── a2a.md
│   │   ├── agent-framework.md
│   │   ├── agent.md
│   │   ├── ai.md
│   │   ├── code-assistants.md
│   │   ├── embedding-vector.md
│   │   ├── langchain.md
│   │   ├── llms.md
│   │   ├── mcp.md
│   │   ├── ml.net.md
│   │   ├── models/
│   │   │   ├── hugging-face.md
│   │   │   ├── models.md
│   │   │   ├── ollama.md
│   │   │   ├── openai.md
│   │   │   └── phi.md
│   │   ├── prompt-engineering.md
│   │   ├── rag.md
│   │   └── semantic-kernel.md
│   ├── algorithm.md
│   ├── anti-patterns/
│   │   ├── anti-patterns.md
│   │   ├── big-ball-of-mud.md
│   │   ├── code-smells.md
│   │   ├── god-object.md
│   │   ├── leaky-abstractions.md
│   │   ├── partial-object.md
│   │   └── static-cling.md
│   ├── architectural-design-principles/
│   │   ├── architectural-design-principles.md
│   │   ├── cap.md
│   │   ├── cohesion.md
│   │   ├── coupling.md
│   │   ├── cqs.md
│   │   ├── cross-cutting-concerns.md
│   │   ├── dependency-inversion.md
│   │   ├── dry.md
│   │   ├── encapsulation.md
│   │   ├── fail-fast.md
│   │   ├── favor-composition-over-inheritance.md
│   │   ├── grasp.md
│   │   ├── interface-segregation.md
│   │   ├── inversion-control.md
│   │   ├── kiss.md
│   │   ├── open-closed-principles.md
│   │   ├── persistence-ignorance.md
│   │   ├── single-responsibility.md
│   │   ├── solid.md
│   │   └── yagni.md
│   ├── architecture-documententation.md
│   ├── azure/
│   │   ├── aks.md
│   │   ├── azure-api-management.md
│   │   ├── azure-app-service-plan.md
│   │   ├── azure-app-service.md
│   │   ├── azure-arc.md
│   │   ├── azure-cloud.md
│   │   ├── azure-configuration.md
│   │   ├── azure-functions.md
│   │   ├── azure-load-balancing.md
│   │   ├── azure-logic-app.md
│   │   ├── azure-resource-manager.md
│   │   ├── azure-resource.md
│   │   ├── azure-security/
│   │   │   ├── azure-active-directory.md
│   │   │   └── azure-key-vault.md
│   │   ├── azure-sql.md
│   │   ├── index.md
│   │   ├── messaging/
│   │   │   ├── azure-event-grid.md
│   │   │   ├── azure-event-hub.md
│   │   │   ├── azure-queue.md
│   │   │   ├── azure-service-bus.md
│   │   │   ├── azure-web-pub-sub.md
│   │   │   └── messaging.md
│   │   ├── nosql/
│   │   │   ├── azure-nosql.md
│   │   │   └── cosmosdb.md
│   │   ├── service-fabric.md
│   │   └── storage/
│   │       ├── blob.md
│   │       ├── file.md
│   │       ├── queue.md
│   │       ├── storage.md
│   │       └── table.md
│   ├── back-pressure.md
│   ├── caching.md
│   ├── clean-architecture.md
│   ├── clean-code.md
│   ├── cloud-best-practices.md
│   ├── cloud-design-patterns/
│   │   ├── ambassador-pattern.md
│   │   ├── anti-corruption-layer-pattern.md
│   │   ├── bff.md
│   │   ├── bulkhead-pattern.md
│   │   ├── circuit-breaker.md
│   │   ├── cloud-design-patterns.md
│   │   ├── exactly-one-delivery.md
│   │   ├── gateway-aggregation.md
│   │   ├── gateway-pattern.md
│   │   ├── inbox-pattern.md
│   │   ├── outbox-pattern.md
│   │   ├── sidecar.md
│   │   └── strangler-fig-pattern.md
│   ├── cloud-native.md
│   ├── code-review.md
│   ├── concurrency.md
│   ├── cqrs.md
│   ├── data-driven-design.md
│   ├── database/
│   │   ├── nosql/
│   │   │   ├── cosmosdb.md
│   │   │   ├── documentdb.md
│   │   │   ├── mongodb.md
│   │   │   ├── nosql.md
│   │   │   └── ravendb.md
│   │   ├── relational/
│   │   │   ├── postgres.md
│   │   │   ├── relational-database.md
│   │   │   └── sql.md
│   │   ├── replication.md
│   │   └── sharding.md
│   ├── design-best-practices/
│   │   ├── 12-factor.md
│   │   ├── design-best-practices.md
│   │   └── thin-controllers.md
│   ├── design-patterns/
│   │   ├── adapter-pattern.md
│   │   ├── builder.md
│   │   ├── chain-of-responsibility.md
│   │   ├── command-message-pattern.md
│   │   ├── command-pattern.md
│   │   ├── decorator-pattern.md
│   │   ├── design-patterns.md
│   │   ├── factory-pattern.md
│   │   ├── mediator-pattern.md
│   │   ├── observer.md
│   │   ├── query-object-pattern.md
│   │   ├── repository-pattern.md
│   │   ├── repr.md
│   │   ├── service-locator.md
│   │   ├── singleton.md
│   │   ├── specification-pattern.md
│   │   ├── state-pattern.md
│   │   ├── strategy-pattern.md
│   │   └── transaction-script-pattern.md
│   ├── devops/
│   │   ├── ci-cd/
│   │   │   ├── azure-devops.md
│   │   │   ├── github-actions.md
│   │   │   └── jenkins.md
│   │   ├── containerd.md
│   │   ├── docker/
│   │   │   ├── docker-compose.md
│   │   │   └── docker.md
│   │   ├── gitops.md
│   │   ├── kubernetes/
│   │   │   ├── debuging-development.md
│   │   │   ├── deployment-strategies.md
│   │   │   ├── deployment-tools/
│   │   │   │   ├── argo-cd.md
│   │   │   │   ├── flux.md
│   │   │   │   ├── helm.md
│   │   │   │   ├── jenkins.md
│   │   │   │   ├── kubernetes-operator.md
│   │   │   │   └── kustomize.md
│   │   │   ├── ingress-controller/
│   │   │   │   ├── ingress-controller.md
│   │   │   │   ├── nginx-ingress.md
│   │   │   │   └── traefik-ingress.md
│   │   │   ├── kubernetes.md
│   │   │   ├── other-tools/
│   │   │   │   ├── garden.md
│   │   │   │   ├── k3s.md
│   │   │   │   ├── mirrord.md
│   │   │   │   ├── okteto.md
│   │   │   │   ├── skaffold.md
│   │   │   │   ├── telepresence.md
│   │   │   │   └── tilt.md
│   │   │   └── services.md
│   │   └── terminal/
│   │       ├── bash.md
│   │       └── powershell.md
│   ├── distributed-locking.md
│   ├── distributed-transactions.md
│   ├── domain-driven-design/
│   │   ├── aggregation.md
│   │   ├── anemic-domain-model.md
│   │   ├── application-service.md
│   │   ├── bounded-context.md
│   │   ├── domain-driven-design.md
│   │   ├── domain-events.md
│   │   ├── domain-primitives.md
│   │   ├── domain-service.md
│   │   ├── domain.md
│   │   ├── enums.md
│   │   ├── exception-and-validation.md
│   │   ├── infrastructure.md
│   │   ├── integration-event.md
│   │   ├── mapping.md
│   │   ├── orm/
│   │   │   └── ef.md
│   │   ├── rich-domain-model.md
│   │   ├── strategic-design-patterns.md
│   │   ├── tactical-design-patterns.md
│   │   └── value-objects.md
│   ├── event-driven-architecture.md
│   ├── event-sourcing.md
│   ├── eventual-consistency.md
│   ├── functional.md
│   ├── grpc.md
│   ├── hexagonal-architecture.md
│   ├── iaas/
│   │   ├── ansible.md
│   │   ├── iaas.md
│   │   ├── nomad.md
│   │   ├── pulumi.md
│   │   └── terraform.md
│   ├── ids.md
│   ├── messaging/
│   │   ├── async-api-documentation.md
│   │   ├── change-data-capture.md
│   │   ├── kafka.md
│   │   ├── messaging-patterns.md
│   │   ├── messaging.md
│   │   ├── nats.md
│   │   ├── rabbitmq.md
│   │   └── zeromq.md
│   ├── micro-frontend.md
│   ├── microservices/
│   │   ├── api-gateway/
│   │   │   ├── ambassador.md
│   │   │   ├── api-gateway.md
│   │   │   ├── kong.md
│   │   │   └── ocelot.md
│   │   ├── communication.md
│   │   ├── composite-ui.md
│   │   ├── microservices.md
│   │   ├── observability/
│   │   │   ├── correlationId.md
│   │   │   ├── diagnostics.md
│   │   │   ├── distributed-tracing.md
│   │   │   ├── logging.md
│   │   │   ├── monitoring.md
│   │   │   ├── observability.md
│   │   │   └── tools/
│   │   │       ├── efk.md
│   │   │       ├── elk.md
│   │   │       ├── fluent-bit.md
│   │   │       ├── fluentd.md
│   │   │       └── loki.md
│   │   ├── resiliency/
│   │   │   ├── high-availibility.md
│   │   │   ├── idempotency.md
│   │   │   └── resiliency.md
│   │   ├── security/
│   │   │   ├── security.md
│   │   │   └── vault.md
│   │   ├── services-boundries.md
│   │   ├── testing.md
│   │   └── tools/
│   │       ├── aspire.md
│   │       ├── cap.md
│   │       ├── dapr.md
│   │       ├── mass-transit.md
│   │       ├── nservicebus.md
│   │       ├── steeltoe.md
│   │       ├── tye.md
│   │       └── wolverine.md
│   ├── modeling/
│   │   ├── architecture-diagram.md
│   │   ├── class-diagram.md
│   │   ├── component-diagram.md
│   │   ├── conceptual-modeling.md
│   │   ├── data-model-notations.md
│   │   ├── domain-stroytelling.md
│   │   ├── er-diagrams.md
│   │   ├── event-modeling.md
│   │   ├── event-storming.md
│   │   ├── index.md
│   │   ├── logical-modeling.md
│   │   ├── modeling.md
│   │   ├── physical-modeling.md
│   │   ├── relationship.md
│   │   ├── tools.md
│   │   └── use-case-diagram.md
│   ├── modular-monolith.md
│   ├── object-oriented-design.md
│   ├── onion-architecture.md
│   ├── open-source.md
│   ├── others.md
│   ├── paas/
│   │   ├── heroku.md
│   │   ├── netlify.md
│   │   ├── openshift.md
│   │   └── rancher.md
│   ├── refactoring.md
│   ├── rest.md
│   ├── reverse-proxy-lb/
│   │   ├── envoy.md
│   │   ├── fabio.md
│   │   ├── haproxy.md
│   │   ├── load-balancing.md
│   │   ├── metallb.md
│   │   ├── nginx.md
│   │   ├── reverse-proxy.md
│   │   ├── traefik.md
│   │   └── yarp.md
│   ├── scaling.md
│   ├── serverless.md
│   ├── service-discovery/
│   │   ├── consul.md
│   │   ├── eureka.md
│   │   └── service-discovery.md
│   ├── service-mesh/
│   │   ├── istio.md
│   │   ├── linkerd.md
│   │   ├── maesh.md
│   │   └── service-mesh.md
│   ├── service-oriented-architecture.md
│   ├── software-architecture.md
│   ├── systems-design/
│   │   ├── consistent-hash.md
│   │   └── systems-design.md
│   ├── type-driven-design.md
│   └── vertical-slice-architecture.md
└── mkdocs.yml
Download .txt
SYMBOL INDEX (5 symbols across 1 files)

FILE: Program.cs
  class Program (line 6) | class Program
    method Main (line 11) | static void Main(string[] args)
    method RunGitDiff (line 22) | static List<string> RunGitDiff(string range)
    method ParseDiff (line 48) | static Dictionary<string, Dictionary<string, Dictionary<string, List<s...
    method PrintReleaseNotes (line 96) | static void PrintReleaseNotes(
Condensed preview — 302 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,030K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 1,
    "preview": "\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 606,
    "preview": "name: CI\non:\n  push:\n    branches:\n      - main\njobs:\n\n  link-check:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: a"
  },
  {
    "path": ".gitignore",
    "chars": 6320,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
  },
  {
    "path": "LICENSE",
    "chars": 7048,
    "preview": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n"
  },
  {
    "path": "Program.cs",
    "chars": 3672,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Text.RegularExpressions;\n\nclass "
  },
  {
    "path": "README.md",
    "chars": 89739,
    "preview": "<p align=\"center\">\r\n  <img src=\"banner.png\" height=\"400\">\r\n  <h1 align=\"center\">\r\n   Awesome Software Architecture\r\n    "
  },
  {
    "path": "ReleaseNotes.csproj",
    "chars": 240,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>net9.0</Targ"
  },
  {
    "path": "contributing.md",
    "chars": 1519,
    "preview": "# Contribution Guidelines\n\n## New entry format\n\n* Use the following format: **(LINK) | (LIBRARY) | (GitHub-UserName/GitH"
  },
  {
    "path": "docs/README.md",
    "chars": 1723,
    "preview": "<p align=\"center\">\n  <h1 align=\"center\">\n   🎨 Awesome Software Architecture\n    <br>\n    <a href=\"https://github.com/meh"
  },
  {
    "path": "docs/abstraction.md",
    "chars": 462,
    "preview": "# Abstraction\n\n## 📕 Articles\n- [When NOT to write an Abstraction Layer](https://codeopinion.com/when-not-to-write-an-abs"
  },
  {
    "path": "docs/actor-model-architecture/actor-model-architecture.md",
    "chars": 1398,
    "preview": "# Actor Model Architecture\n\n## 📕Articles\n- [How virtual actors will help you scale your applications the easy way](https"
  },
  {
    "path": "docs/actor-model-architecture/akka-net.md",
    "chars": 2610,
    "preview": "# Akka .NET\n\n## 📘 Resources\n- [akkadotnet/akka.net](https://github.com/akkadotnet/akka.net) - Port of Akka actors for .N"
  },
  {
    "path": "docs/actor-model-architecture/orleans.md",
    "chars": 2204,
    "preview": "# Orleans\n\n### 📕Articles\n- [Developing APIs using Actor model in ASP.NET Core](https://dev.to/samueleresca/developing-ap"
  },
  {
    "path": "docs/actor-model-architecture/protoactor.md",
    "chars": 589,
    "preview": "# Protoactor\n\n## 📦 Libraries\n- [asynkron/protoactor-dotnet](https://github.com/asynkron/protoactor-dotnet) - Proto Actor"
  },
  {
    "path": "docs/ai/a2a.md",
    "chars": 1250,
    "preview": "# A2A\n\n## Resources\n- [Agent2Agent (A2A) Protocol Specification](https://a2a-protocol.org/v0.2.5/specification/)\n\n## Art"
  },
  {
    "path": "docs/ai/agent-framework.md",
    "chars": 1658,
    "preview": "# Microsoft Agent Framework\n\n## Resources\n- [Microsoft Agent Framework documentation](https://learn.microsoft.com/en-us/"
  },
  {
    "path": "docs/ai/agent.md",
    "chars": 879,
    "preview": "# Agents\n\n## Resources\n- [microsoft/ai-agents-for-beginners](https://github.com/microsoft/ai-agents-for-beginners) - 12 "
  },
  {
    "path": "docs/ai/ai.md",
    "chars": 14123,
    "preview": "# AI\n\n## Resources\n\n- [microsoft/generative-ai-for-beginners](https://github.com/microsoft/generative-ai-for-beginners/)"
  },
  {
    "path": "docs/ai/code-assistants.md",
    "chars": 3720,
    "preview": "# Code Assistants\n\n## Articles\n- [Coding for the Future Agentic World - The promise and reality of autonomous coding age"
  },
  {
    "path": "docs/ai/embedding-vector.md",
    "chars": 2155,
    "preview": "# Embedding & Vector\n\n## Articles\n- [Introducing text and code embeddings](https://openai.com/index/introducing-text-and"
  },
  {
    "path": "docs/ai/langchain.md",
    "chars": 1012,
    "preview": "# LangChain\n\n## Resources\n- [LangChain Academy](https://academy.langchain.com/collections)\n\n## Articles\n- [Build a Retri"
  },
  {
    "path": "docs/ai/llms.md",
    "chars": 415,
    "preview": "# LLMs\n\n## Videos\n- [How I use LLMs - Andrej Karpathy](https://www.youtube.com/watch?v=EWvNQjAaOHw)\n- [Deep Dive into LL"
  },
  {
    "path": "docs/ai/mcp.md",
    "chars": 4148,
    "preview": "# Model Context Protocol (MCP)\n\n## Resources\n- [ModelContextProtocol.Io](https://modelcontextprotocol.io/introduction)\n-"
  },
  {
    "path": "docs/ai/ml.net.md",
    "chars": 521,
    "preview": "# ML.Net\n\n## Articles\n- [What's new in ML.NET](https://learn.microsoft.com/en-us/dotnet/machine-learning/whats-new/overv"
  },
  {
    "path": "docs/ai/models/hugging-face.md",
    "chars": 740,
    "preview": "# Hugging Face\n\n## Articles\n- [Chat Templates](https://huggingface.co/blog/chat-templates)\n\n## Videos\n- [Getting Started"
  },
  {
    "path": "docs/ai/models/models.md",
    "chars": 873,
    "preview": "# Models\n\n## Articles\n- [Qwen2.5: A Party of Foundation Models!](https://qwenlm.github.io/blog/qwen2.5/)\n\n## Libraries\n-"
  },
  {
    "path": "docs/ai/models/ollama.md",
    "chars": 1563,
    "preview": "# Ollama\n\n## Resources\n- [Ollama Documentation](https://github.com/ollama/ollama/tree/main/docs)\n\n## Articles\n- [OpenAI "
  },
  {
    "path": "docs/ai/models/openai.md",
    "chars": 416,
    "preview": "# OpenAI\n\n## Articles\n- [Announcing the stable release of the official OpenAI library for .NET](https://devblogs.microso"
  },
  {
    "path": "docs/ai/models/phi.md",
    "chars": 742,
    "preview": "# Phi\n\n## Articles\n- [Run Phi-3 SLM on your machine with C# Semantic Kernel and Ollama](https://laurentkempe.com/2024/05"
  },
  {
    "path": "docs/ai/prompt-engineering.md",
    "chars": 592,
    "preview": "# Prompt Engineering\n\n## Resources\n- [dair-ai/Prompt-Engineering-Guide](https://github.com/dair-ai/Prompt-Engineering-Gu"
  },
  {
    "path": "docs/ai/rag.md",
    "chars": 2668,
    "preview": "# RAG\n\n## Articles\n- [Build a Retrieval Augmented Generation (RAG) App](https://js.langchain.com/v0.2/docs/tutorials/rag"
  },
  {
    "path": "docs/ai/semantic-kernel.md",
    "chars": 3305,
    "preview": "# Semantic Kernel & .NET AI\n\n## Resources\n- [Semantic Kernel documentation](https://learn.microsoft.com/en-us/semantic-k"
  },
  {
    "path": "docs/algorithm.md",
    "chars": 4391,
    "preview": "# Algorithms\n\n## Sites\n- [https://leetcode.com](https://leetcode.com)\n- [https://neetcode.io](https://neetcode.io/practi"
  },
  {
    "path": "docs/anti-patterns/anti-patterns.md",
    "chars": 287,
    "preview": "# Anti Patterns\n\n## 📘 Resources\n- [Anti Patterns](https://deviq.com/antipatterns/antipatterns-overview) \n\n## 📕 Articles\n"
  },
  {
    "path": "docs/anti-patterns/big-ball-of-mud.md",
    "chars": 358,
    "preview": "# Big Ball of Mud\n\n## 📕 Articles\n\n- [Big Ball of Mud - DevIQ](https://deviq.com/antipatterns/big-ball-of-mud)\n- [Big Bal"
  },
  {
    "path": "docs/anti-patterns/code-smells.md",
    "chars": 101,
    "preview": "# Code Smells\n\n## 📕 Articles\n\n- [Code Smells - DevIQ](https://deviq.com/antipatterns/code-smells) \n\n\n"
  },
  {
    "path": "docs/anti-patterns/god-object.md",
    "chars": 119,
    "preview": "# God Object\n\n## 📕 Articles\n- [God Objects](https://exceptionnotfound.net/god-objects-the-daily-software-anti-pattern/)"
  },
  {
    "path": "docs/anti-patterns/leaky-abstractions.md",
    "chars": 256,
    "preview": "# Leaky Abstractions\n\n## 📕 Articles\n- [Clean Architecture Example & Breakdown](https://codeopinion.com/clean-architectur"
  },
  {
    "path": "docs/anti-patterns/partial-object.md",
    "chars": 191,
    "preview": "# Partial/Optional Object\n\n## 📕 Articles\n- [Don't POOP - The Partial/Optional Object Population Anti-Pattern](https://sc"
  },
  {
    "path": "docs/anti-patterns/static-cling.md",
    "chars": 200,
    "preview": "# Static Cling\n\n## 📕 Articles\n\n- [Static Cling - DevIQ](https://deviq.com/antipatterns/static-cling)\n- [Static methods c"
  },
  {
    "path": "docs/architectural-design-principles/architectural-design-principles.md",
    "chars": 1093,
    "preview": "# Architectural Design Principles\n\n## 📘 Resources\n- [chanakaudaya/solution-architecture-patterns](https://github.com/cha"
  },
  {
    "path": "docs/architectural-design-principles/cap.md",
    "chars": 1127,
    "preview": "# CAP Theorem\n\n## Articles\n- [System design fundamentals: What is the CAP theorem?](https://www.educative.io/blog/what-i"
  },
  {
    "path": "docs/architectural-design-principles/cohesion.md",
    "chars": 271,
    "preview": "# Cohesion\n\n## 📕 Articles\n- [Highly COHESIVE Software Design to tame Complexity](https://codeopinion.com/highly-cohesive"
  },
  {
    "path": "docs/architectural-design-principles/coupling.md",
    "chars": 407,
    "preview": "# Minimize Coupling\n\n## 📕 Articles\n- [Write Stable Code using Coupling Metrics](https://codeopinion.com/write-stable-cod"
  },
  {
    "path": "docs/architectural-design-principles/cqs.md",
    "chars": 26,
    "preview": "# Command Query Separation"
  },
  {
    "path": "docs/architectural-design-principles/cross-cutting-concerns.md",
    "chars": 2258,
    "preview": "\n# Cross Cutting Concerns\n\n## 📕 Articles\n\n- [Crosscutting Concerns](<https://docs.microsoft.com/en-us/previous-versions/"
  },
  {
    "path": "docs/architectural-design-principles/dependency-inversion.md",
    "chars": 811,
    "preview": "# Dependency Inversion\n\n## 📕 Articles\n\n- [Singleton vs Dependency Injection](https://enterprisecraftsmanship.com/posts/s"
  },
  {
    "path": "docs/architectural-design-principles/dry.md",
    "chars": 336,
    "preview": "# Dry\n\n## 📕 Articles\n\n- [Don't Repeat Yourself](https://deviq.com/principles/dont-repeat-yourself)\n- [DRY is a footgun, "
  },
  {
    "path": "docs/architectural-design-principles/encapsulation.md",
    "chars": 102,
    "preview": "# Encapsulation\n\n## 📕 Articles\n\n - [Encapsulation - DevIQ](https://deviq.com/principles/encapsulation)"
  },
  {
    "path": "docs/architectural-design-principles/fail-fast.md",
    "chars": 199,
    "preview": "# Fail-Fast\n\n## 📕 Articles\n\n- [Fail Fast - DevIQ](https://deviq.com/principles/fail-fast)\n- [Fail Fast principle - Vladi"
  },
  {
    "path": "docs/architectural-design-principles/favor-composition-over-inheritance.md",
    "chars": 573,
    "preview": "# Favor Composition Over Inheritance\n\n## 📕 Articles\n- [Favor Composition over Inheritance](https://icodemag.com/favor-co"
  },
  {
    "path": "docs/architectural-design-principles/grasp.md",
    "chars": 154,
    "preview": "\n# GRASP\n\n## 📕 Articles\n\n- [GRASP – General Responsibility Assignment Software Patterns Explained](https://www.kamilgrzy"
  },
  {
    "path": "docs/architectural-design-principles/interface-segregation.md",
    "chars": 134,
    "preview": "# Interface Segregation\n\n## 📕 Articles\n- [Interface Segregation Principle - DevIQ](https://deviq.com/principles/interfac"
  },
  {
    "path": "docs/architectural-design-principles/inversion-control.md",
    "chars": 369,
    "preview": "# Inversion Of Control\n\n## 📕 Articles\n- [SOLID Wash Tunnel - IoC Container](https://www.ledjonbehluli.com/posts/wash-tun"
  },
  {
    "path": "docs/architectural-design-principles/kiss.md",
    "chars": 372,
    "preview": "\n# KISS\n\n## 📕 Articles\n\n- [KISS - Java-Design-Patterns](https://java-design-patterns.com/principles/#kiss) \n- [Principle"
  },
  {
    "path": "docs/architectural-design-principles/open-closed-principles.md",
    "chars": 750,
    "preview": "# Open/Closed Principles\n\n## 📕 Articles\n- [Open-Closed Principle - DevIQ](https://deviq.com/principles/open-closed-princ"
  },
  {
    "path": "docs/architectural-design-principles/persistence-ignorance.md",
    "chars": 512,
    "preview": "\n# Persistence Ignorance\n\n## 📕 Articles\n\n- [Persistence Ignorance](https://deviq.com/principles/persistence-ignorance) \n"
  },
  {
    "path": "docs/architectural-design-principles/single-responsibility.md",
    "chars": 657,
    "preview": "# Single Responsibility\n\n## 📕 Articles\n- [Single Responsibility Principle - DevIQ](https://deviq.com/principles/single-r"
  },
  {
    "path": "docs/architectural-design-principles/solid.md",
    "chars": 969,
    "preview": "# Solid\n\n## 📕 Articles\n- [SOLID - DevIQ](https://deviq.com/principles/solid)\n- [Solid Principles with C# .NET Core with "
  },
  {
    "path": "docs/architectural-design-principles/yagni.md",
    "chars": 334,
    "preview": "# YAGNI\n\n## 📕 Articles\n- [Yagni - Martin Fowler](https://martinfowler.com/bliki/Yagni.html)\n- [YAGNI - DevIQ](https://de"
  },
  {
    "path": "docs/architecture-documententation.md",
    "chars": 1337,
    "preview": "# Architecture Documentation (ADR)\n\n## Resources\n- [arc42/arc42-template](https://github.com/arc42/arc42-template) - arc"
  },
  {
    "path": "docs/azure/aks.md",
    "chars": 506,
    "preview": "# Azure Kubernetes Service (AKS)\n\n## 📘 Resources\n- [Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/az"
  },
  {
    "path": "docs/azure/azure-api-management.md",
    "chars": 357,
    "preview": "# Azure API Management\n\n## 📘 Resources\n- [Architect API integration in Azure](https://docs.microsoft.com/en-us/learn/pat"
  },
  {
    "path": "docs/azure/azure-app-service-plan.md",
    "chars": 109,
    "preview": "# Azure AppService Plan\n\n## 📺 Videos\n- [Azure App Service Plans](https://www.youtube.com/watch?v=YV23WNtQZmw)"
  },
  {
    "path": "docs/azure/azure-app-service.md",
    "chars": 1893,
    "preview": "# Azure App Service\n\n## 📘 Resources\n- [Deploy a website to Azure with Azure App Service](https://docs.microsoft.com/en-u"
  },
  {
    "path": "docs/azure/azure-arc.md",
    "chars": 317,
    "preview": "# Azure Arc\n\n## 📕 Articles\n- [Azure Arc for Developers](https://techcommunity.microsoft.com/t5/itops-talk-blog/azure-arc"
  },
  {
    "path": "docs/azure/azure-cloud.md",
    "chars": 4792,
    "preview": "\n# Azure Cloud\n\n## 📘 Resources\n- [lukemurraynz/awesome-azure-architecture](https://github.com/lukemurraynz/awesome-azure"
  },
  {
    "path": "docs/azure/azure-configuration.md",
    "chars": 708,
    "preview": "# Azure App Configuration\n\n## 📺 Videos\n- [AZURE APP CONFIGURATION | Central Store For Application Configuration | ASP.NE"
  },
  {
    "path": "docs/azure/azure-functions.md",
    "chars": 3537,
    "preview": "\n# Azure Functions / Azure Serverless\n\n## 📘 Resources\n- [Azure Functions documentation](https://docs.microsoft.com/en-us"
  },
  {
    "path": "docs/azure/azure-load-balancing.md",
    "chars": 681,
    "preview": "# Load Balancing\n\n## 📘 Resources\n\n- [Improve application scalability and resiliency by using Azure Load Balancer](https:"
  },
  {
    "path": "docs/azure/azure-logic-app.md",
    "chars": 192,
    "preview": "# Azure Logic App\n\n## 📘 Resources\n- [Build automated workflows to integrate data and apps with Azure Logic Apps](https:/"
  },
  {
    "path": "docs/azure/azure-resource-manager.md",
    "chars": 977,
    "preview": "\n# Azure Resource Manager (ARM)\n\n## 📘 Resources\n- [Deploy and manage resources in Azure by using ARM templates](https://"
  },
  {
    "path": "docs/azure/azure-resource.md",
    "chars": 189,
    "preview": "# Azure Resource && Resource Group\n\n## 📺 Videos\n- [AZ-900 Episode 8 | Resources, Resource Groups & Resource Manager | Az"
  },
  {
    "path": "docs/azure/azure-security/azure-active-directory.md",
    "chars": 2446,
    "preview": "\t\n# Azure Active Directory (Azure AD)\n\n## 📘 Resources\n- [AZ-104: Manage identities and governance in Azure](https://docs"
  },
  {
    "path": "docs/azure/azure-security/azure-key-vault.md",
    "chars": 1849,
    "preview": "# Azure Key Vault\n\n## 📕 Articles\n- [Secrets Access with Managed Identities in .NET Applications](https://auth0.com/blog/"
  },
  {
    "path": "docs/azure/azure-sql.md",
    "chars": 719,
    "preview": "# Azure SQL\n\n## 📘 Resources\n- [Azure SQL fundamentals](https://docs.microsoft.com/en-us/learn/paths/azure-sql-fundamenta"
  },
  {
    "path": "docs/azure/index.md",
    "chars": 987,
    "preview": "- [Azure Application Architecture](azure-application-architecture.md)\n  - [Azure API Management](azure-api-management.md"
  },
  {
    "path": "docs/azure/messaging/azure-event-grid.md",
    "chars": 540,
    "preview": "## Azure Event Grid\n\n## 📘 Resources\n- [Connect your services together](https://docs.microsoft.com/en-us/learn/paths/conn"
  },
  {
    "path": "docs/azure/messaging/azure-event-hub.md",
    "chars": 996,
    "preview": "# Azure Event Hub\n\n## 📘 Resources\n- [Connect your services together](https://docs.microsoft.com/en-us/learn/paths/connec"
  },
  {
    "path": "docs/azure/messaging/azure-queue.md",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "docs/azure/messaging/azure-service-bus.md",
    "chars": 5220,
    "preview": "\n# Azure Service Bus\n\n## 📘 Resources\n- [Connect your services together](https://docs.microsoft.com/en-us/learn/paths/con"
  },
  {
    "path": "docs/azure/messaging/azure-web-pub-sub.md",
    "chars": 146,
    "preview": "# Azure Web Pub/Sub\n\n## 📺 Videos\n- [An overview of Azure Web PubSub](https://channel9.msdn.com/Shows/Azure-Friday/An-ove"
  },
  {
    "path": "docs/azure/messaging/messaging.md",
    "chars": 293,
    "preview": "# Azure Messaging\n\n## 📘 Resources\n- [Architect message brokering and serverless applications in Azure](https://docs.micr"
  },
  {
    "path": "docs/azure/nosql/azure-nosql.md",
    "chars": 426,
    "preview": "# Azure NoSQL\n\n## 📘 Resources\n- [Work with NoSQL data in Azure Cosmos DB](https://docs.microsoft.com/en-us/learn/paths/w"
  },
  {
    "path": "docs/azure/nosql/cosmosdb.md",
    "chars": 1367,
    "preview": "# CosmosDB\n\n## 📘 Resources\n- [Azure Cosmos DB YouTube](https://www.youtube.com/c/AzureCosmosDB)\n\n## 📕 Articles\n- [Azure "
  },
  {
    "path": "docs/azure/service-fabric.md",
    "chars": 22,
    "preview": "# Azure Service Fabric"
  },
  {
    "path": "docs/azure/storage/blob.md",
    "chars": 417,
    "preview": "# Azure Blob Storage\n\n## 📺 Videos\n- [Azure Files vs Azure Blob Storage - Which Storage Type Do You Need?](https://www.yo"
  },
  {
    "path": "docs/azure/storage/file.md",
    "chars": 417,
    "preview": "# Azure File Storage\n\n## 📺 Videos\n- [Azure Files vs Azure Blob Storage - Which Storage Type Do You Need?](https://www.yo"
  },
  {
    "path": "docs/azure/storage/queue.md",
    "chars": 509,
    "preview": "# Azure Queue Storage\n\n## 📺 Videos\n- [AZURE QUEUE STORAGE From ASP NET Core | Getting Started With ASP.NET Core Series]("
  },
  {
    "path": "docs/azure/storage/storage.md",
    "chars": 1599,
    "preview": "# Azure Storage\n\n## 📘 Resources\n\n- [Store data in Azure](https://docs.microsoft.com/en-us/learn/paths/store-data-in-azur"
  },
  {
    "path": "docs/azure/storage/table.md",
    "chars": 752,
    "preview": "# Azure Table Storage\n\n## 📕Articles\n- [Azure Cosmos DB vs Azure Table Storage – Choosing the right store for your applic"
  },
  {
    "path": "docs/back-pressure.md",
    "chars": 1708,
    "preview": "# Back Pressure\n\n## 📕 Articles\n- [Applying Back Pressure When Overloaded](https://mechanical-sympathy.blogspot.com/2012/"
  },
  {
    "path": "docs/caching.md",
    "chars": 9656,
    "preview": "# Caching\n\n## 📘 Resources\n- [donnemartin/system-design-primer#cache](https://github.com/donnemartin/system-design-primer"
  },
  {
    "path": "docs/clean-architecture.md",
    "chars": 20834,
    "preview": "\n# Clean Architecture\n\n## 📕 Articles\n\n- [Clean architecture](https://docs.microsoft.com/en-us/dotnet/architecture/modern"
  },
  {
    "path": "docs/clean-code.md",
    "chars": 2185,
    "preview": "\n# Clean Code\n\n## 📘 Resources\n- [thangchung/clean-code-dotnet](https://github.com/thangchung/clean-code-dotnet) - 🛁 Clea"
  },
  {
    "path": "docs/cloud-best-practices.md",
    "chars": 1249,
    "preview": "# Cloud Best Practices\n\n## 📕Articles\n- [Best practices in cloud applications](https://docs.microsoft.com/en-us/azure/arc"
  },
  {
    "path": "docs/cloud-design-patterns/ambassador-pattern.md",
    "chars": 257,
    "preview": "\n# Ambassador Pattern\n\n## 📕 Articles\n\n- [Ambassador pattern](https://docs.microsoft.com/en-us/azure/architecture/pattern"
  },
  {
    "path": "docs/cloud-design-patterns/anti-corruption-layer-pattern.md",
    "chars": 1455,
    "preview": "#  Anti Corruption Layer \n\n## 📕 Articles\n\n- [Anti-Corruption Layer pattern](https://docs.microsoft.com/en-us/azure/archi"
  },
  {
    "path": "docs/cloud-design-patterns/bff.md",
    "chars": 5273,
    "preview": "# Backend For Frontend (BFF)\n\n## 📕 Articles\n- [Backends for Frontends pattern](https://learn.microsoft.com/en-us/azure/a"
  },
  {
    "path": "docs/cloud-design-patterns/bulkhead-pattern.md",
    "chars": 141,
    "preview": "# Bulkhead Pattern\n\n## 📕 Articles\n\n- [MICROSERVICE BULKHEAD PATTERN - DOS AND DON'TS](https://akfpartners.com/growth-blo"
  },
  {
    "path": "docs/cloud-design-patterns/circuit-breaker.md",
    "chars": 20,
    "preview": "#  Circuit Breaker\n\n"
  },
  {
    "path": "docs/cloud-design-patterns/cloud-design-patterns.md",
    "chars": 5191,
    "preview": "\n# Cloud Design Patterns\n\n## 📘 Resources\n- [Cloud Design Patterns - Microsoft](https://docs.microsoft.com/en-us/azure/ar"
  },
  {
    "path": "docs/cloud-design-patterns/exactly-one-delivery.md",
    "chars": 160,
    "preview": "# Exactly-Once Delivery\n\n## 📕 Articles\n\n- [Exactly-once Delivery](https://www.cloudcomputingpatterns.org/exactly_once_de"
  },
  {
    "path": "docs/cloud-design-patterns/gateway-aggregation.md",
    "chars": 257,
    "preview": "# Gateway Aggregation\n\n## 📕 Articles\n\n- [MICROSERVICE AGGREGATOR PATTERN](https://akfpartners.com/growth-blog/microservi"
  },
  {
    "path": "docs/cloud-design-patterns/gateway-pattern.md",
    "chars": 420,
    "preview": "\n# Gateway Pattern\n\n## 📕 Articles\n\n- [MICROSERVICES ARCHITECTURE GATEWAY PATTERN - DOS AND DON'TS](https://akfpartners.c"
  },
  {
    "path": "docs/cloud-design-patterns/inbox-pattern.md",
    "chars": 1265,
    "preview": "# Inbox Pattern & Duplicate detection\n\n## 📕 Articles\n- [Duplicate detection](https://learn.microsoft.com/en-us/azure/ser"
  },
  {
    "path": "docs/cloud-design-patterns/outbox-pattern.md",
    "chars": 6005,
    "preview": "# At-least-Once Delivery (Outbox Pattern)\n\n## 📕 Articles\n- [Sending Reliable Event Notifications with Transactional Outb"
  },
  {
    "path": "docs/cloud-design-patterns/sidecar.md",
    "chars": 245,
    "preview": "# Sidecar Pattern\n\n## 📕Articles\n- [Sidecar pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar"
  },
  {
    "path": "docs/cloud-design-patterns/strangler-fig-pattern.md",
    "chars": 361,
    "preview": "# Strangler Fig Pattern\n\n## Articles\n- [Strangler Fig pattern](https://docs.microsoft.com/en-us/azure/architecture/patte"
  },
  {
    "path": "docs/cloud-native.md",
    "chars": 2465,
    "preview": "# Cloud Native\n\n## 📘 Resources\n- [Architecting Cloud Native .NET Applications for Azure](https://docs.microsoft.com/en-u"
  },
  {
    "path": "docs/code-review.md",
    "chars": 111,
    "preview": "# Code Review\n\n### 📕Articles\n- [The Code Review Pyramid](https://www.morling.dev/blog/the-code-review-pyramid/)"
  },
  {
    "path": "docs/concurrency.md",
    "chars": 4976,
    "preview": "# Concurrency \n\n## 📕Articles\n- [Optimistic Concurrency](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/op"
  },
  {
    "path": "docs/cqrs.md",
    "chars": 20419,
    "preview": "\n# CQRS\n\n## 📕 Articles\n\n- [Command and Query Responsibility Segregation (CQRS) pattern](https://docs.microsoft.com/en-us"
  },
  {
    "path": "docs/data-driven-design.md",
    "chars": 1723,
    "preview": "\n# Data Driven Design (Data Centric)\n\n## 📕 Articles\n\n- [Creating a simple data-driven CRUD microservice](https://docs.mi"
  },
  {
    "path": "docs/database/nosql/cosmosdb.md",
    "chars": 813,
    "preview": "# CosmosDB\n\n- [Azure Cosmos DB - A fully-managed, globally distributed NoSQL database service](https://stackshare.io/azu"
  },
  {
    "path": "docs/database/nosql/documentdb.md",
    "chars": 459,
    "preview": "# DocumentDB\n\n## 📕 Articles\n- [Introducing Amazon DocumentDB (with MongoDB compatibility) global clusters](https://aws.a"
  },
  {
    "path": "docs/database/nosql/mongodb.md",
    "chars": 12318,
    "preview": "# MongoDB\n\n## 📘 Resources\n- [MongoDB Docs](https://docs.mongodb.com/)\n\n## 📕 Articles\n- [Introduction to MongoDB](https:/"
  },
  {
    "path": "docs/database/nosql/nosql.md",
    "chars": 3705,
    "preview": "\n\n# NoSQL\n\n## 📘 Resources\n- [donnemartin/system-design-primer#nosql](https://github.com/donnemartin/system-design-primer"
  },
  {
    "path": "docs/database/nosql/ravendb.md",
    "chars": 129,
    "preview": "# RavenDB\n\n## 📘 Resources\n- [RavenDB - A NoSQL Database that's fully transactional](https://stackshare.io/raven-db) - St"
  },
  {
    "path": "docs/database/relational/postgres.md",
    "chars": 2635,
    "preview": "# Postgresql\n\n## References\n- [PostgreSQL Documentation](https://www.postgresql.org/docs/current/)\n\n## 📕 Articles\n- [Pos"
  },
  {
    "path": "docs/database/relational/relational-database.md",
    "chars": 765,
    "preview": "# Relational Database\n\n### 📕Articles\n- [How to choose the right database for your service](https://medium.com/wix-engine"
  },
  {
    "path": "docs/database/relational/sql.md",
    "chars": 6478,
    "preview": "# SQL\n\n## Articles\n- [SQL Query Optimization: How to Tune Performance of SQL Queries](https://blog.devart.com/how-to-opt"
  },
  {
    "path": "docs/database/replication.md",
    "chars": 1637,
    "preview": "# Replication\n\n## Articles\n\n- [MongoDB Replication](https://www.mongodb.com/resources/products/capabilities/replication)"
  },
  {
    "path": "docs/database/sharding.md",
    "chars": 5047,
    "preview": "# Sharding\n\n## 📘 Resources\n- [donnemartin/system-design-primer#sharding](https://github.com/donnemartin/system-design-pr"
  },
  {
    "path": "docs/design-best-practices/12-factor.md",
    "chars": 302,
    "preview": "# 12 Factor\n\n## 📕 Articles\n- [The Twelve-Factor App](https://12factor.net/)\n- [Building Twelve Factor Apps with .Net Cor"
  },
  {
    "path": "docs/design-best-practices/design-best-practices.md",
    "chars": 989,
    "preview": "# Design Best Practices\n\n## 📘 Resources\n- [hassanhabib/The-Standard](https://github.com/hassanhabib/The-Standard)\n- [has"
  },
  {
    "path": "docs/design-best-practices/thin-controllers.md",
    "chars": 835,
    "preview": "# Thin Controllers\n\n## 📕 Articles\n\n- [Put your controllers on a diet: GETs and queries](https://lostechies.com/jimmyboga"
  },
  {
    "path": "docs/design-patterns/adapter-pattern.md",
    "chars": 153,
    "preview": "# Adapter Pattern\n\n## 📕 Articles\n- [Adapter Design Pattern in ASP.NET Core](https://www.ezzylearning.net/tutorial/adapte"
  },
  {
    "path": "docs/design-patterns/builder.md",
    "chars": 744,
    "preview": "# Builder Design Pattern\n\n## 📕 Articles\n- [SOLID Wash Tunnel - Fluent Builder (part 1/3)](https://www.ledjonbehluli.com/"
  },
  {
    "path": "docs/design-patterns/chain-of-responsibility.md",
    "chars": 1040,
    "preview": "# Chain Of Responsibility\n\n## 📕 Articles\n- [Chain Of Responsibility Pattern C#](https://codewithshadman.com/chain-of-res"
  },
  {
    "path": "docs/design-patterns/command-message-pattern.md",
    "chars": 146,
    "preview": "# Command Message Pattern\n\n## 📕 Articles\n- [SOLID Wash Tunnel - Command Message](https://www.ledjonbehluli.com/posts/was"
  },
  {
    "path": "docs/design-patterns/command-pattern.md",
    "chars": 613,
    "preview": "# Command Pattern\n\n## 📕 Articles\n- [Command - refactoring.guru](https://refactoring.guru/design-patterns/command)\n- [C# "
  },
  {
    "path": "docs/design-patterns/decorator-pattern.md",
    "chars": 1719,
    "preview": "\n# Decorator Pattern\n\n## 📕 Articles\n\n- [Decorator Pattern in .NET Core 3.1](https://www.programmingwithwolfgang.com/deco"
  },
  {
    "path": "docs/design-patterns/design-patterns.md",
    "chars": 3293,
    "preview": "# Design Patterns\n\n## 📘 Resources\n\n- [iluwatar/java-design-patterns](https://github.com/iluwatar/java-design-patterns) -"
  },
  {
    "path": "docs/design-patterns/factory-pattern.md",
    "chars": 612,
    "preview": "# Factory Pattern\n\n## 📕 Articles\n\n- [The Factory Pattern In .NET Core](https://dotnetcoretutorials.com/2019/10/15/the-fa"
  },
  {
    "path": "docs/design-patterns/mediator-pattern.md",
    "chars": 1301,
    "preview": "# Mediator Pattern\n\n## 📕 Articles\n- [The Mediator Pattern In C# .NET – Part 1 – What’s A Mediator?](https://dotnetcoretu"
  },
  {
    "path": "docs/design-patterns/observer.md",
    "chars": 151,
    "preview": "# Observer Pattern\n\n## 📕Articles\n- [Observer Design Pattern in .NET C#](https://levelup.gitconnected.com/observer-design"
  },
  {
    "path": "docs/design-patterns/query-object-pattern.md",
    "chars": 237,
    "preview": "\n# Query Object Pattern\n\n## 📕 Articles\n\n- [Query Objects instead of Repositories](https://codeopinion.com/query-objects-"
  },
  {
    "path": "docs/design-patterns/repository-pattern.md",
    "chars": 8064,
    "preview": "# Repository Pattern\n\n## 📕 Articles\n- [Repository - Martin Fowler](https://martinfowler.com/eaaCatalog/repository.html)\n"
  },
  {
    "path": "docs/design-patterns/repr.md",
    "chars": 1153,
    "preview": "# REPR\n\n## 📕 Articles\n - [REPR Design Pattern - DevIQ](https://deviq.com/design-patterns/repr-design-pattern)\n - [MVC Co"
  },
  {
    "path": "docs/design-patterns/service-locator.md",
    "chars": 780,
    "preview": "# Service Locator\n\n## 📕 Articles\n\n- [Service Locator is an Anti-Pattern](https://blog.ploeh.dk/2010/02/03/ServiceLocator"
  },
  {
    "path": "docs/design-patterns/singleton.md",
    "chars": 239,
    "preview": "\n# Singleton\n\n## 📕 Articles\n\n- [Singleton vs Dependency Injection](https://enterprisecraftsmanship.com/posts/singleton-v"
  },
  {
    "path": "docs/design-patterns/specification-pattern.md",
    "chars": 2030,
    "preview": "# Specification Pattern\n\n## 📕 Articles\n- [Specification Pattern](https://deviq.com/design-patterns/specification-pattern"
  },
  {
    "path": "docs/design-patterns/state-pattern.md",
    "chars": 123,
    "preview": "# State Design Pattern\n\n### 📕Articles\n- [SOLID Wash Tunnel - State](https://www.ledjonbehluli.com/posts/wash-tunnel/stat"
  },
  {
    "path": "docs/design-patterns/strategy-pattern.md",
    "chars": 1557,
    "preview": "\n# Strategy Pattern\n\n## 📕 Articles\n- [ASP.NET Core and the Strategy Pattern](https://adamstorr.azurewebsites.net/blog/as"
  },
  {
    "path": "docs/design-patterns/transaction-script-pattern.md",
    "chars": 809,
    "preview": "# Transaction Script Pattern\n\n## 📕 Articles\n\n- [Transaction Script](https://martinfowler.com/eaaCatalog/transactionScrip"
  },
  {
    "path": "docs/devops/ci-cd/azure-devops.md",
    "chars": 587,
    "preview": "# Azure Devops\n\n## 📝 Articles\n- [Manage release flow using pipelines in Azure DevOps](https://daniel-krzyczkowski.github"
  },
  {
    "path": "docs/devops/ci-cd/github-actions.md",
    "chars": 22751,
    "preview": "# GitHub Actions\n\n## 📘 Resources\n- [sdras/awesome-actions](https://github.com/sdras/awesome-actions) - A curated list of"
  },
  {
    "path": "docs/devops/ci-cd/jenkins.md",
    "chars": 178,
    "preview": "# Jenkins\n\n## 📕 Articles\n\n- [Up and running Jenkins on local Kubernetes cluster](https://medium.com/creditorwatch/up-and"
  },
  {
    "path": "docs/devops/containerd.md",
    "chars": 252,
    "preview": "# Containerd\n## 📘 Resources\n- [Containerd GitHub](https://github.com/containerd/containerd) - An open and reliable conta"
  },
  {
    "path": "docs/devops/docker/docker-compose.md",
    "chars": 6315,
    "preview": "# Docker Compose\n\n## 📘 Resources\n- [Docker Compose GitHub](https://github.com/docker/compose)\n- [Composerize](https://ww"
  },
  {
    "path": "docs/devops/docker/docker.md",
    "chars": 21346,
    "preview": "# Docker\n\n## 📘 Resources\n- [Docker GitHub](https://github.com/docker)\n- [wsargent/docker-cheat-sheet](https://github.com"
  },
  {
    "path": "docs/devops/gitops.md",
    "chars": 1030,
    "preview": "# Gitops\n\n## Resources\n- [akuity/awesome-argo](https://github.com/akuity/awesome-argo) - A curated list of awesome proje"
  },
  {
    "path": "docs/devops/kubernetes/debuging-development.md",
    "chars": 3072,
    "preview": "# Debugging & Development\n\n## Articles\n- [Getting Started with Telepresence on Windows](https://www.getambassador.io/res"
  },
  {
    "path": "docs/devops/kubernetes/deployment-strategies.md",
    "chars": 907,
    "preview": "# Deployment Strategies\n\n## 📕 Articles\n\n- [Six Strategies for Application Deployment](https://thenewstack.io/deployment-"
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/argo-cd.md",
    "chars": 1160,
    "preview": "# ArgoCD\n\n## 📘 Resources\n- [ArgoCD GitHub](https://github.com/argoproj/argo-cd/)\n- [ArgoCD docs](https://argo-cd.readthe"
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/flux.md",
    "chars": 523,
    "preview": "# Flux\n\n## 📘 Resources\n[Flux GitHub](https://github.com/fluxcd/flux) - A tool for turning container images into running "
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/helm.md",
    "chars": 4585,
    "preview": "# Helm\n[Helm Website](https://helm.sh/)\n\n## 📕 Articles\n- [Introducing Gitpod for Open Source](https://www.gitpod.io/blog"
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/jenkins.md",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/kubernetes-operator.md",
    "chars": 372,
    "preview": "# Kubernetes Operator\n\n## 📺 Videos\n- [The Automation Challenge: Kubernetes Operators vs Helm Charts • Ana-Maria Mihalcea"
  },
  {
    "path": "docs/devops/kubernetes/deployment-tools/kustomize.md",
    "chars": 3793,
    "preview": "# Kustomize\n\n## 📘 Resources\n- [kubernetes-sigs/kustomize](https://github.com/kubernetes-sigs/kustomize) - Customization "
  },
  {
    "path": "docs/devops/kubernetes/ingress-controller/ingress-controller.md",
    "chars": 1876,
    "preview": "# Ingress Controller\n\n### 📕Articles\n- [Combining Ingress Controllers and External Load Balancers with Kubernetes](https:"
  },
  {
    "path": "docs/devops/kubernetes/ingress-controller/nginx-ingress.md",
    "chars": 1002,
    "preview": "# Nginx Ingress\n\n## 📕 Articles\n- [Using a Network Load Balancer with the NGINX Ingress Controller on Amazon EKS](https:/"
  },
  {
    "path": "docs/devops/kubernetes/ingress-controller/traefik-ingress.md",
    "chars": 4832,
    "preview": "# Traefik Ingress\n\n## 📕 Articles\n- [Integrating Consul Connect Service Mesh with Traefik 2.5](https://traefik.io/blog/in"
  },
  {
    "path": "docs/devops/kubernetes/kubernetes.md",
    "chars": 24530,
    "preview": "# Kubernetes\n\n## 📘 Resources\n- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) - Production-Grade Cont"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/garden.md",
    "chars": 964,
    "preview": "# Garden\n\n## Resources\n- [Garden Github](https://github.com/garden-io/garden)\n- [Garden Docs](https://docs.garden.io)\n\n#"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/k3s.md",
    "chars": 7332,
    "preview": "# K3S\n\n## Resourses\n- [K3s GitHub](https://github.com/k3s-io/k3s) - Lightweight Kubernetes. Production ready, easy to in"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/mirrord.md",
    "chars": 510,
    "preview": "# Mirrord\n\n## Resources\n- [Mirrord GitHub](https://github.com/metalbear-co/mirrord) \n\n## Articles\n- [Debugging Microserv"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/okteto.md",
    "chars": 500,
    "preview": "# Okteto\n\n## Resources\n\n- [Okteto GitHub](https://github.com/okteto/okteto)\n\n## Articles\n- [Local Kubernetes Development"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/skaffold.md",
    "chars": 1251,
    "preview": "# Skaffold\n\n## Articles\n- [Getting Started with Skaffold for Kubernetes Deployments](https://speedscale.com/blog/getting"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/telepresence.md",
    "chars": 1773,
    "preview": "# Telepresence\n\n## Resources\n- [Telepresence Github](https://github.com/telepresenceio/telepresence)\n- [Telepresence Doc"
  },
  {
    "path": "docs/devops/kubernetes/other-tools/tilt.md",
    "chars": 643,
    "preview": "# Tilt\n\n## Resources\n- [Tilt GitHub](https://github.com/tilt-dev/tilt)\n- [Tilt Docs](https://docs.tilt.dev/)\n\n## Article"
  },
  {
    "path": "docs/devops/kubernetes/services.md",
    "chars": 163,
    "preview": "# Services\n\n## 📺 Videos\n- [Kubernetes Services explained | ClusterIP vs NodePort vs LoadBalancer vs Headless Service](ht"
  },
  {
    "path": "docs/devops/terminal/bash.md",
    "chars": 6,
    "preview": "# Bash"
  },
  {
    "path": "docs/devops/terminal/powershell.md",
    "chars": 138,
    "preview": "# Powershell\n\n## Resources\n- [PowerShell Cheat Sheet / Quick Reference](https://gist.github.com/pcgeek86/336e08d1a09e3dd"
  },
  {
    "path": "docs/distributed-locking.md",
    "chars": 1679,
    "preview": "# Distributed Locking\n\n## 📕Articles\n- [Distributed Locks with Redis](https://redis.io/docs/reference/patterns/distribute"
  },
  {
    "path": "docs/distributed-transactions.md",
    "chars": 5755,
    "preview": "# Distributed Transactions & Saga\n\n## 📘 Resources\n- [Sairyss/distributed-systems-topics](https://github.com/Sairyss/dist"
  },
  {
    "path": "docs/domain-driven-design/aggregation.md",
    "chars": 4019,
    "preview": "# Aggregation\n\n## 📕 Articles\n\n- [Processing multiple aggregates – transactional vs eventual consistency](https://www.kam"
  },
  {
    "path": "docs/domain-driven-design/anemic-domain-model.md",
    "chars": 723,
    "preview": "\n# Anemic Domain Model\n\n## 📕 Articles\n\n- [AnemicDomainModel](https://www.martinfowler.com/bliki/AnemicDomainModel.html)\n"
  },
  {
    "path": "docs/domain-driven-design/application-service.md",
    "chars": 883,
    "preview": "\n# Application Service\n\n## 📕 Articles\n\n- [Domain services vs Application services](https://enterprisecraftsmanship.com/2"
  },
  {
    "path": "docs/domain-driven-design/bounded-context.md",
    "chars": 2285,
    "preview": "\n# Bounded Context\n\n## 📕 Articles\n- [Identify domain-model boundaries for each microservice](https://docs.microsoft.com/"
  },
  {
    "path": "docs/domain-driven-design/domain-driven-design.md",
    "chars": 34672,
    "preview": "\n# Domain Driven Design (DDD) - Domain Centric\n\n## 📘 Resources\n\n- [Domain-Driven Design Starter Modelling Process](https"
  },
  {
    "path": "docs/domain-driven-design/domain-events.md",
    "chars": 6061,
    "preview": "\n# Domain Events\n\n## 📕 Articles\n- [How to publish and handle Domain Events](http://www.kamilgrzybek.com/design/how-to-pu"
  },
  {
    "path": "docs/domain-driven-design/domain-primitives.md",
    "chars": 2386,
    "preview": "\n# Primitive obsession\n\n## 📕 Articles\n\n- [My Take On Domain Primitives](https://svenhuebner-it.com/my-take-on-domain-pri"
  },
  {
    "path": "docs/domain-driven-design/domain-service.md",
    "chars": 301,
    "preview": "\n# Domain Service\n\n## 📕 Articles\n- [Domain-Driven Refactoring: Extracting Domain Services](https://jimmybogard.com/domai"
  },
  {
    "path": "docs/domain-driven-design/domain.md",
    "chars": 5796,
    "preview": "# Domain Model\n\n## 📕 Articles\n\n- [Always-Valid Domain Model](https://enterprisecraftsmanship.com/posts/always-valid-doma"
  },
  {
    "path": "docs/domain-driven-design/enums.md",
    "chars": 1730,
    "preview": "\n# Enums\n\n## 📕 Articles\n- [Smart enums / Type-safe enums in .NET](https://www.meziantou.net/smart-enums-type-safe-enums-"
  },
  {
    "path": "docs/domain-driven-design/exception-and-validation.md",
    "chars": 6107,
    "preview": "# Exceptions & Validation\n\n## 📕 Articles\n\n- [Design validations in the domain model layer](https://docs.microsoft.com/en"
  },
  {
    "path": "docs/domain-driven-design/infrastructure.md",
    "chars": 890,
    "preview": "\n# Infrastructure\n\n## 📕 Articles\n\n- [Design the infrastructure persistence layer](https://docs.microsoft.com/en-us/dotne"
  },
  {
    "path": "docs/domain-driven-design/integration-event.md",
    "chars": 514,
    "preview": "# Integration Events\n\n## 📕 Articles\n- [Implementing event-based communication between microservices (integration events)"
  },
  {
    "path": "docs/domain-driven-design/mapping.md",
    "chars": 264,
    "preview": "\n# Mapping\n\n## 📕 Articles\n\n- [Scaffold Your Clean DDD Web Application - Part 5: Domain-Driven Design Entity Mapping Stra"
  },
  {
    "path": "docs/domain-driven-design/orm/ef.md",
    "chars": 4206,
    "preview": "# Entity Framework\n\n## 📕 Articles\n- [Let’s do some DDD with Entity Framework Core 3!](https://www.davidguida.net/lets-do"
  },
  {
    "path": "docs/domain-driven-design/rich-domain-model.md",
    "chars": 144,
    "preview": "# Rich Domain Model\n\n## 📺 Videos\n- [Rich domain model. What does that even mean? Why is it useful?](https://www.youtube."
  },
  {
    "path": "docs/domain-driven-design/strategic-design-patterns.md",
    "chars": 1249,
    "preview": "\n# Strategic Design Patterns\n\n## 📕 Articles\n\n- [Strategic Domain-Driven Design](https://vaadin.com/learn/tutorials/ddd/s"
  },
  {
    "path": "docs/domain-driven-design/tactical-design-patterns.md",
    "chars": 440,
    "preview": "# Tactical Design Patterns\n\n## 📕 Articles\n\n- [Tactical Domain-Driven Design](https://vaadin.com/learn/tutorials/ddd/tact"
  },
  {
    "path": "docs/domain-driven-design/value-objects.md",
    "chars": 6886,
    "preview": "# Value Objects\n\n## 📕 Articles\n\n- [Implement value objects](https://docs.microsoft.com/en-us/dotnet/architecture/microse"
  },
  {
    "path": "docs/event-driven-architecture.md",
    "chars": 13249,
    "preview": "\n# Event Driven Architecture\n\n# Resources\n- [Cloud Design Patterns - Microsoft Learn](https://learn.microsoft.com/en-us/"
  },
  {
    "path": "docs/event-sourcing.md",
    "chars": 35503,
    "preview": "# Event Sourcing\n\n## 📘 Resources\n- [Event Store Blog](https://www.eventstore.com/blog/tag/event-sourcing)\n- [Alexey Zima"
  },
  {
    "path": "docs/eventual-consistency.md",
    "chars": 1236,
    "preview": "# Eventual Consistency\n\n## 📕 Articles\n\n- [Consistency Patterns: Eventual Consistency](https://systemdesign.one/consisten"
  },
  {
    "path": "docs/functional.md",
    "chars": 1654,
    "preview": "# Functional Programming\n\n## 📘 Resources\n- [xgrommx/awesome-functional-programming](https://github.com/xgrommx/awesome-f"
  }
]

// ... and 102 more files (download for full content)

About this extraction

This page contains the full source code of the mehdihadeli/awesome-software-architecture GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 302 files (976.9 KB), approximately 263.3k tokens, and a symbol index with 5 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!