# ahmed-shawki-dev/first-principle-backend-engineer architecture

> Architecture diagram of the GitHub repository ahmed-shawki-dev/first-principle-backend-engineer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ahmed-shawki-dev/first-principle-backend-engineer
- Repository: https://github.com/ahmed-shawki-dev/first-principle-backend-engineer

## Overview

This repository is a study-note collection, not a running backend: its README describes learning material on .NET, PostgreSQL, and distributed systems. A reader can start with execution and request-lifecycle concepts, then study .NET internals and persistence topics. The tree contains no distinct distributed-systems section, and no source excerpts or documented links establish calls or a required reading sequence, so the graph shows the major content areas without inventing connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_execution["Execution Models"]
  node_request_lifecycle["Request Lifecycle"]
  node_aspnet_pipeline["ASP.NET Pipeline"]
  node_process_threads["Processes and Threads"]
  node_io_cpu["I/O and CPU Work"]
  node_execution_models["Execution Models"]
  node_latency_throughput["Latency and Throughput"]
  node_boundaries_failures["Resources and Failures"]
end

subgraph group_dotnet[".NET Internals"]
  node_hosting_config["Hosting and Configuration"]
  node_app_lifetime["Application Lifetime"]
  node_dependency_injection["Dependency Injection"]
  node_endpoints_metadata["Endpoints and Metadata"]
  node_binding_validation["Binding and Validation"]
  node_serialization["Serialization and JSON"]
  node_controller_execution["Controller Execution"]
  node_error_handling["Error Handling"]
  node_http_client["Outbound HTTP"]
end

subgraph group_persistence["Data Persistence"]
  node_ef_core["EF Core"]
  node_ef_queries["Queries and Loading<br/>[08 - LINQ.md]"]
  node_ef_data_changes["Data Changes<br/>[12 - CUD Data.md]"]
  node_ef_transactions["Transactions"]
  node_postgres["PostgreSQL"]
  node_postgres_types["PostgreSQL Types"]
  node_postgres_constraints["Constraints"]
  node_postgres_json["PostgreSQL JSON"]
end

click node_request_lifecycle "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/01-%20Request%20Lifecycle%20Mental%20Model.md"
click node_aspnet_pipeline "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/02-%20ASP.NET%20Core%20Request%20Pipeline.md"
click node_process_threads "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/03%20-%20Process%20vs%20Thread.md"
click node_io_cpu "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/04-%20IO%20Bound%20Vs%20CPU%20Bound.md"
click node_execution_models "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/05-%20Execution%20Models.md"
click node_latency_throughput "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/06-%20Latency%20vs%20Throughput.md"
click node_boundaries_failures "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/07-%20Boundaries%20Resources%20%20Failures.md"
click node_hosting_config "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/01%20-%20Hosting%20%26%20Configuration%20Architecture.md"
click node_app_lifetime "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/02-%20Application%20Lifetime%20%26%20Graceful%20Shutdown.md"
click node_dependency_injection "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/04-%20Dependency%20injection%20In%20Depth.md"
click node_endpoints_metadata "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/05-%20Endpoint%20%26%20Metadata%20Model.md"
click node_binding_validation "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/07-%20Model%20Binding%20%26%20Validation.md"
click node_serialization "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/08-%20Serialization%20%26%20JSON.md"
click node_controller_execution "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/10-%20Controller%2C%20Action%20%26%20Result%20Execution.md"
click node_error_handling "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/11-%20Error%20Handling%20%26%20Result%20Pattern.md"
click node_http_client "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/14%20-%20HttpClient%20%26%20Outbound%20HTTP%20Fundamentals.md"
click node_ef_core "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/01%20-%20Introduction.md"
click node_ef_queries "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/08%20-%20LINQ.md"
click node_ef_data_changes "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/12%20-%20CUD%20Data.md"
click node_ef_transactions "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/14%20-%20Transactions.md"
click node_postgres "https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/Postgres/01%20-%20Introduction.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_request_lifecycle,node_aspnet_pipeline,node_process_threads,node_io_cpu,node_execution_models,node_latency_throughput,node_boundaries_failures toneBlue
class node_hosting_config,node_app_lifetime,node_dependency_injection,node_endpoints_metadata,node_binding_validation,node_serialization,node_controller_execution,node_error_handling,node_http_client toneAmber
class node_ef_core,node_ef_queries,node_ef_data_changes,node_ef_transactions,node_postgres,node_postgres_types,node_postgres_constraints,node_postgres_json toneMint
```

## Components

### Execution Models

- [Request Lifecycle](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/01-%20Request%20Lifecycle%20Mental%20Model.md): `01- Execution Mental Model/01- Request Lifecycle Mental Model.md`
- [ASP.NET Pipeline](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/02-%20ASP.NET%20Core%20Request%20Pipeline.md): `01- Execution Mental Model/02- ASP.NET Core Request Pipeline.md`
- [Processes and Threads](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/03%20-%20Process%20vs%20Thread.md): `01- Execution Mental Model/03 - Process vs Thread.md`
- [I/O and CPU Work](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/04-%20IO%20Bound%20Vs%20CPU%20Bound.md): `01- Execution Mental Model/04- IO Bound Vs CPU Bound.md`
- [Execution Models](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/05-%20Execution%20Models.md): `01- Execution Mental Model/05- Execution Models.md`
- [Latency and Throughput](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/06-%20Latency%20vs%20Throughput.md): `01- Execution Mental Model/06- Latency vs Throughput.md`
- [Resources and Failures](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/01-%20Execution%20Mental%20Model/07-%20Boundaries%20Resources%20%20Failures.md): `01- Execution Mental Model/07- Boundaries Resources Failures.md`

### .NET Internals

- [Hosting and Configuration](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/01%20-%20Hosting%20%26%20Configuration%20Architecture.md): `02- dotnet internals/01 - Hosting & Configuration Architecture.md`
- [Application Lifetime](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/02-%20Application%20Lifetime%20%26%20Graceful%20Shutdown.md): `02- dotnet internals/02- Application Lifetime & Graceful Shutdown.md`
- [Dependency Injection](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/04-%20Dependency%20injection%20In%20Depth.md): `02- dotnet internals/04- Dependency injection In Depth.md`
- [Endpoints and Metadata](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/05-%20Endpoint%20%26%20Metadata%20Model.md): `02- dotnet internals/05- Endpoint & Metadata Model.md`
- [Binding and Validation](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/07-%20Model%20Binding%20%26%20Validation.md): `02- dotnet internals/07- Model Binding & Validation.md`
- [Serialization and JSON](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/08-%20Serialization%20%26%20JSON.md): `02- dotnet internals/08- Serialization & JSON.md`
- [Controller Execution](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/10-%20Controller%2C%20Action%20%26%20Result%20Execution.md): `02- dotnet internals/10- Controller, Action & Result Execution.md`
- [Error Handling](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/11-%20Error%20Handling%20%26%20Result%20Pattern.md): `02- dotnet internals/11- Error Handling & Result Pattern.md`
- [Outbound HTTP](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/02-%20dotnet%20internals/14%20-%20HttpClient%20%26%20Outbound%20HTTP%20Fundamentals.md): `02- dotnet internals/14 - HttpClient & Outbound HTTP Fundamentals.md`

### Data Persistence

- [EF Core](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/01%20-%20Introduction.md): `03- EF Core & Database/EF Core/01 - Introduction.md`
- [Queries and Loading](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/08%20-%20LINQ.md): `03- EF Core & Database/EF Core/08 - LINQ.md`
- [Data Changes](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/12%20-%20CUD%20Data.md): `03- EF Core & Database/EF Core/12 - CUD Data.md`
- [Transactions](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/EF%20Core/14%20-%20Transactions.md): `03- EF Core & Database/EF Core/14 - Transactions.md`
- [PostgreSQL](https://github.com/ahmed-shawki-dev/first-principle-backend-engineer/blob/main/03-%20EF%20Core%20%26%20Database/Postgres/01%20-%20Introduction.md): `03- EF Core & Database/Postgres/01 - Introduction.md`
- **PostgreSQL Types**
- **Constraints**
- **PostgreSQL JSON**
