All Courses
Backend EngineeringBeginner → Senior

.NET & C# Development

Build the 'OrderFlow' API from zero — then add every real-world layer: DI, EF Core, JWT, CQRS, Redis, SignalR, Polly, OpenTelemetry, Docker. Every lesson is a lab or challenge — you write real code, not copy-paste theory.

4.9rating1,892 students55h total92 lessons
62 Hands-on Labs 3 Challenges 3 Projects

What you'll learn

Wire up DI correctly — service lifetimes, keyed services, Scrutor — and never see a scoped-in-singleton bug again
Build production REST APIs with Minimal API, ProblemDetails, global exception handling, and versioning
Deep-dive EF Core: relationships, concurrency, interceptors, compiled queries, and N+1 killers
Ship JWT auth with refresh tokens, policy-based authorization, rate limiting, and OAuth 2.0
Apply Clean Architecture, CQRS, Domain Events, Outbox Pattern, and Vertical Slice Architecture
Cache with Redis, Output Cache, and HybridCache — cut DB load by 80%
Write resilient HTTP clients with IHttpClientFactory, Refit, and Polly circuit breakers
Schedule background jobs with Quartz.NET and Hangfire, monitor them on a live dashboard
Observe your API end-to-end: OpenTelemetry, Serilog, Seq, Prometheus, and Grafana
Ship with Docker, GitHub Actions CI/CD, and a YARP gateway in front

Final Project

A fully deployed OrderFlow API — orders, products, real-time updates, full observability stack, and automated CI/CD pipeline

Course Contents

92 lessons · 55h
1

C# 12 Crash Course — Everything You Actually Need

40 min
2

Project: Scaffold OrderFlow from Zero to Running API

Project
45 min
3

REST Rules Senior Devs Follow (That Juniors Don't)

20 min
4

Stop Returning 200 for Everything — HTTP Status Done Right

15 min
5

Kill the Hardcoded Values — appsettings.json & Env Vars

Lab
18 min
6

Understand DI by Building It Without a Framework First

22 min
7

Lab: Break Your App With Wrong Lifetimes — Then Fix It

Lab
15 min
8

Keyed Services — Register Multiple Implementations Cleanly

12 min
9

Register 50 Services in 2 Lines Using Scrutor

Lab
14 min
10

Build Custom Middleware That Logs Every Incoming Request

Lab
28 min
11

Stop Repeating Auth Logic — Add Action & Exception Filters

Lab
28 min
12

Never Return a Raw 500 Again — ProblemDetails & Global Errors

Lab
16 min
13

Add Serilog in 10 Minutes — Logs Your Team Can Search

Lab
20 min
14

Build Your First Real Endpoint — Minimal API vs Controllers

Lab
50 min
15

Wire Up Controllers, Routing & Auto-Generated Swagger Docs

Lab
40 min
16

Minimal API Deep Dive — Group, Validate & Document Endpoints

25 min
17

Version Your API So You Never Break Clients Again

Lab
18 min
18

Generate Beautiful API Docs with OpenAPI & Scalar

Lab
18 min
19

IEnumerable vs IQueryable — Stop Pulling 100k Rows You Don't Need

20 min
20

EF Core from Scratch — Map Your First Database Table

Lab
40 min
21

Fluent API — Configure Entities Without Polluting Your Domain

35 min
22

Relationships Done Right: 1-to-1, 1-to-Many, Many-to-Many

Lab
22 min
23

Build Paginated, Sorted & Searchable Endpoints

Lab
45 min
24

Add Soft Deletes in 5 Minutes With Global Query Filters

Lab
18 min
25

Bulk Insert 10,000 Rows Without Killing Your Database

Lab
22 min
26

Prevent Lost Updates — Optimistic Concurrency in Practice

Lab
20 min
27

Wrap Multiple Operations in One Safe Transaction

Lab
16 min
28

Intercept Every Save — Add Audit Trails Automatically

Lab
15 min
29

Lazy vs Eager Loading — What's Silently Killing Performance?

20 min
30

Challenge: Find & Fix the N+1 Query in This Controller

Challenge
22 min
31

When EF Core Isn't Enough — Raw SQL, Dapper & Stored Procs

Lab
40 min
32

API Key Auth in 15 Minutes — Simple, Effective, Secure

Lab
15 min
33

Build JWT Auth from Zero — No Libraries, Just Code

Lab
55 min
34

Add Refresh Tokens — Sessions That Survive Expiry

Lab
20 min
35

Lock Down Endpoints With Roles & Custom Claims

Lab
18 min
36

Policy-Based Auth — Complex Rules Without Spaghetti Code

20 min
37

OAuth 2.0 & OpenID Connect — Let Others Handle Auth

30 min
38

Rate Limit Your API Before It Gets Hammered

Lab
16 min
39

Fix CORS Errors Forever — Plus Add Security Headers

Lab
14 min
40

Security Middleware & Filters in Action

Lab
35 min
41

Milestone: Secure the Entire OrderFlow API End-to-End

Milestone
30 min
42

Options Pattern — Strongly-Typed Config With Validation

18 min
43

Validate Requests With FluentValidation — Zero Boilerplate

Lab
30 min
44

Result Pattern — Stop Using Exceptions for Flow Control

16 min
45

Repository & Unit of Work — Do You Actually Need It?

30 min
46

Repository + Unit of Work — The Real Production Implementation

Lab
35 min
47

CQRS With MediatR — Commands, Queries, Pipeline Behaviors

Lab
50 min
48

Decorator Pattern — Add Caching Without Touching Business Logic

Lab
18 min
49

Specification Pattern — Move Query Logic Out of Controllers

Lab
16 min
50

AutoMapper vs Mapster vs Manual — Which Is Worth It?

18 min
51

Domain Events — Decouple Side Effects From Your Core Logic

Lab
45 min
52

Outbox Pattern — Never Lose a Message on DB Failure

Lab
20 min
53

Feature Flags — Ship Code Without Switching It On

Lab
16 min
54

Build a Webhook System — Event-Driven API Communication

Lab
20 min
55

SOLID Principles in Real .NET Code (Not Just Slides)

28 min
56

Clean Architecture — Structure an API You'll Be Proud Of

Lab
35 min
57

Vertical Slice — One Feature, One Folder, Zero Friction

28 min
58

DDD in .NET — Rich Domain Models That Express Business Rules

30 min
59

Modular Monolith — Clean Boundaries Without Microservice Pain

30 min
60

Challenge: Should OrderFlow Become Microservices?

Challenge
25 min
61

Add In-Memory Cache — Cut DB Calls on Hot Endpoints

Lab
18 min
62

Redis Cache-Aside Pattern — Scale Beyond One Server

Lab
40 min
63

Output Caching — Serve Responses Without Touching Your Code

Lab
16 min
64

HybridCache — L1 + L2 Caching With Stampede Protection

25 min
65

Compress API Responses — Halve Your Payload Size

Lab
14 min
66

Stream Large Datasets With IAsyncEnumerable

Lab
16 min
67

Zero-Allocation Code — Span<T>, ArrayPool & Object Pooling

20 min
68

Measure Before You Optimize — BenchmarkDotNet in Practice

Lab
20 min
69

Challenge: Profile & Fix This Slow OrderFlow Endpoint

Challenge
25 min
70

IHttpClientFactory — Never Leak Sockets Again

Lab
18 min
71

Refit — Call External APIs Like Invoking a C# Method

Lab
18 min
72

Polly — Retry, Circuit Breaker & Hedging for Flaky APIs

Lab
24 min
73

Delegating Handlers — Propagate Auth Tokens Automatically

Lab
16 min
74

IHostedService — Run Work in the Background Without a Queue

Lab
35 min
75

Scheduled Jobs With Quartz.NET — Fire at 2am, Not 2pm

Lab
22 min
76

Hangfire — Retry Failed Jobs & Watch Them on a Dashboard

Lab
20 min
77

Worker Services — Standalone Background Processors

20 min
78

Secure File Uploads — Validate Type, Size & Malware Risk

Lab
18 min
79

Upload to Azure Blob — Generate SAS URLs on Demand

Lab
22 min
80

Generate PDFs & Excel Reports on the Fly

Lab
18 min
81

Push Live Order Updates to the Browser With SignalR

Lab
40 min
82

Health Checks — Know If Your API Is Sick Before Users Do

Lab
18 min
83

OpenTelemetry — Trace a Request Across Every Layer

Lab
25 min
84

Centralized Logs With Seq — Search 10,000 Lines in Seconds

Lab
25 min
85

Prometheus + Grafana — Build a Live Dashboard for Your API

Lab
20 min
86

Unit Test Your Handlers — Fast, Isolated, Reliable

Lab
22 min
87

Integration Tests That Hit a Real Database

Lab
25 min
88

Testcontainers — Spin Up Postgres & Redis in Your CI Pipeline

Lab
45 min
89

Project: Ship OrderFlow — Docker, CI/CD & Zero-Downtime Deploy

Project
50 min
90

YARP Gateway — Route, Load Balance & Authenticate at the Edge

Lab
20 min
91

Interview Prep: Junior .NET (Q1–Q80)

50 min
92

Interview Prep: Senior .NET (Q81–Q250)

60 min

Course Info

Lessons92 lessons
Total time55h
LevelBeginner → Senior
Students1,892
Rating4.9 / 5.0
Start Course — Free