DotNet Fullstack + Angular Tutorial

This .NET Full Stack tutorial on StackLesson is a complete, hands-on learning path designed to help you build real-world web applications using Microsoft technologies and Angular. The course covers both frontend and backend development, starting from C# fundamentals and progressing to advanced concepts like ASP.NET Core, REST APIs, and database integration.

You will learn how to create scalable, secure, and production-ready applications by combining Angular for frontend development with .NET for backend services. The course focuses on practical implementation through structured lessons, real examples, and project-based learning.

By the end of this course, you will be able to design, develop, and deploy full-stack applications suitable for enterprise-level environments.

πŸ“‚ Chapter 1: C# Fundamentals

1010 C# and .NET Introduction Beginner β†’ 1020 Variables and Types β€” C#'s Type System Beginner β†’ 1030 Strings β€” Interpolation, Verbatim Literals and Common Methods Beginner β†’ 1040 Arrays β€” Fixed-Size Collections and Iteration Beginner β†’ 1050 Console I/O and Top-Level Statements β€” Writing Your First Programs Beginner β†’

πŸ“‚ Chapter 2: Control Flow

2010 If/Else and Ternary β€” Conditional Branching Beginner β†’ 2020 Switch Statement and Switch Expressions β€” Modern Pattern Matching Beginner β†’ 2030 For and Foreach Loops β€” Iterating Collections Beginner β†’ 2040 While and Do-While β€” Condition-Based Loops Beginner β†’ 2050 Logical Operators and Guard Clauses β€” Clean Conditional Code Beginner β†’

πŸ“‚ Chapter 3: Methods, Parameters and Scope

3010 Declaring and Calling Methods β€” The Building Blocks of Reuse Beginner β†’ 3020 Parameters and Return Values β€” Passing Data In and Out Beginner β†’ 3030 Ref, Out and In β€” Passing by Reference Beginner β†’ 3040 Method Overloading β€” Multiple Signatures, One Name Beginner β†’ 3050 Scope, Local Variables and Local Functions Beginner β†’

πŸ“‚ Chapter 4: OOP β€” Classes, Objects and Constructors

4010 Classes and Objects β€” Defining Types and Creating Instances Beginner β†’ 4020 Properties β€” Encapsulation with Getters and Setters Beginner β†’ 4030 Constructors β€” Initialising Objects Correctly Beginner β†’ 4040 Static Members and Static Classes β€” Shared State and Utilities Beginner β†’ 4050 Records β€” Immutable Data Types and Value Semantics Beginner β†’

πŸ“‚ Chapter 5: Inheritance and Polymorphism

5010 Inheritance β€” Extending Classes with Base and Derived Types Intermediate β†’ 5020 Virtual, Override and Sealed β€” Customising Inherited Behaviour Intermediate β†’ 5030 Abstract Classes β€” Enforcing Structure in Derived Types Intermediate β†’ 5040 Polymorphism β€” Writing Code That Works with Many Types Intermediate β†’ 5050 Casting and Type Checking β€” is, as, and Pattern Matching Intermediate β†’

πŸ“‚ Chapter 6: Interfaces and Abstract Classes

6010 Defining and Implementing Interfaces β€” Contracts Without Implementation Intermediate β†’ 6020 Interfaces and Dependency Injection β€” The Foundation of Testable Code Intermediate β†’ 6030 Explicit Interface Implementation β€” Resolving Conflicts and Hiding Members Intermediate β†’ 6040 Default Interface Methods and Interface Evolution Intermediate β†’ 6050 Interfaces vs Abstract Classes β€” Choosing the Right Abstraction Intermediate β†’

πŸ“‚ Chapter 7: Collections β€” List, Dictionary, HashSet, Queue

7010 List<T> β€” The Go-To Dynamic Collection Intermediate β†’ 7020 Dictionary<TKey, TValue> β€” Fast Key-Based Lookup Intermediate β†’ 7030 HashSet<T> and Sorted Collections β€” Uniqueness and Ordering Intermediate β†’ 7040 Queue<T>, Stack<T> and LinkedList<T> β€” Specialised Sequences Intermediate β†’ 7050 Collection Interfaces and Choosing the Right Collection Intermediate β†’

πŸ“‚ Chapter 8: Generics β€” Type-Safe Reusable Code

8010 Generic Classes and Methods β€” Writing Once, Using Many Types Intermediate β†’ 8020 Generic Constraints β€” Restricting What T Can Be Intermediate β†’ 8030 Generic Interfaces, Covariance and Contravariance Intermediate β†’ 8040 The Result Pattern β€” Generic Error Handling Without Exceptions Intermediate β†’ 8050 Generic Repository β€” Reusable Data Access with Type Safety Intermediate β†’

πŸ“‚ Chapter 9: LINQ β€” Language Integrated Query

9010 LINQ Fundamentals β€” Querying Collections with Method Syntax Intermediate β†’ 9020 LINQ Transformations β€” SelectMany, GroupBy, Join and Zip Intermediate β†’ 9030 LINQ Aggregation and Set Operations Intermediate β†’ 9040 LINQ Query Syntax and Advanced Patterns Intermediate β†’ 9050 LINQ and EF Core β€” From In-Memory to SQL Intermediate β†’

πŸ“‚ Chapter 10: Exception Handling β€” try/catch/finally

10010 Try, Catch and Finally β€” The Exception Handling Fundamentals Intermediate β†’ 10020 Exception Types and Hierarchy β€” Choosing the Right Exception Intermediate β†’ 10030 Custom Exceptions β€” Domain-Specific Error Types Intermediate β†’ 10040 Exception Filters and the When Clause Intermediate β†’ 10050 Global Exception Handling in ASP.NET Core Intermediate β†’

πŸ“‚ Chapter 11: File I/O and Streams

11010 File and Directory Classes β€” Working with the Filesystem Intermediate β†’ 11020 Streams β€” StreamReader, StreamWriter and FileStream Intermediate β†’ 11030 Async File I/O β€” Non-Blocking File Operations Intermediate β†’ 11040 JSON Serialisation β€” System.Text.Json in Depth Intermediate β†’ 11050 CSV and Binary Files β€” Processing Structured File Formats Intermediate β†’

πŸ“‚ Chapter 12: Delegates, Events and Lambdas

12010 Delegates β€” Type-Safe Function Pointers Advanced β†’ 12020 Lambda Expressions β€” Inline Anonymous Functions Advanced β†’ 12030 Action, Func and Predicate β€” Built-In Delegate Types Advanced β†’ 12040 Events β€” The Publisher-Subscriber Pattern Advanced β†’ 12050 Expression Trees and Func vs Expression Advanced β†’

πŸ“‚ Chapter 13: Async/Await and the Task Parallel Library

13010 Task and Async/Await β€” Non-Blocking Asynchronous Code Advanced β†’ 13020 Task Combinators β€” WhenAll, WhenAny and Concurrent Operations Advanced β†’ 13030 CancellationToken β€” Cooperative Cancellation and Timeouts Advanced β†’ 13040 Parallel Class and PLINQ β€” CPU-Bound Parallelism Advanced β†’ 13050 Async Patterns and Common Pitfalls β€” Deadlocks, Exceptions, Async Void Advanced β†’

πŸ“‚ Chapter 14: Pattern Matching, Records and C# 10-12 Features

14010 Pattern Matching Deep Dive β€” is, switch Expressions and Patterns Advanced β†’ 14020 Records in Depth β€” Immutability, Equality and Inheritance Advanced β†’ 14030 C# 10 and 11 Features β€” Global Usings, File-Scoped Namespaces, Required Members Advanced β†’ 14040 C# 12 Features β€” Primary Constructors, Collection Expressions and Aliases Advanced β†’ 14050 Nullable Reference Types β€” Eliminating Null Reference Exceptions Advanced β†’

πŸ“‚ Chapter 15: Advanced C# β€” Span, Memory and Reflection

15010 Span and Memory β€” Zero-Allocation Slicing Advanced β†’ 15020 ArrayPool and stackalloc β€” Avoiding Heap Allocations Advanced β†’ 15030 Reflection β€” Inspecting Types and Members at Runtime Advanced β†’ 15040 Custom Attributes β€” Metadata Annotations for Your Types Advanced β†’ 15050 Source Generators and Compile-Time Code Generation Advanced β†’

πŸ“‚ Chapter 16: Project Structure, NuGet and Solution Files

16010 The .NET Project β€” csproj, Program.cs and the SDK Intermediate β†’ 16020 Solution Files and Multi-Project Structure Intermediate β†’ 16030 NuGet Packages β€” Finding, Installing and Managing Dependencies Intermediate β†’ 16040 Layered Architecture β€” Organising a Clean Solution Intermediate β†’ 16050 dotnet CLI, Global Tools and Project Settings Intermediate β†’

πŸ“‚ Chapter 17: .NET Core Architecture and the Generic Host

17010 .NET Runtime Overview β€” CLR, JIT and the SDK vs Runtime Intermediate β†’ 17020 The Generic Host β€” IHost, IHostBuilder and Application Lifetime Intermediate β†’ 17030 Startup and Program.cs β€” The Modern Minimal API Bootstrap Intermediate β†’ 17040 Environments and Configuration Bootstrap Intermediate β†’ 17050 IHostedService and Application Lifetime Intermediate β†’

πŸ“‚ Chapter 18: Dependency Injection β€” Built-In IoC Container

18010 DI Fundamentals β€” Service Registration and Constructor Injection Intermediate β†’ 18020 Service Lifetimes β€” Transient, Scoped and Singleton Intermediate β†’ 18030 Advanced Registration β€” Factories, Open Generics and Decorators Intermediate β†’ 18040 Resolving Services β€” GetRequiredService, Scopes and Service Locator Intermediate β†’ 18050 IOptions Pattern β€” Strongly-Typed Configuration Binding Intermediate β†’

πŸ“‚ Chapter 19: Configuration β€” appsettings, Environments, Secrets

19010 The Configuration System β€” IConfiguration and Providers Intermediate β†’ 19020 appsettings.json β€” Structure, Hierarchy and Type Binding Intermediate β†’ 19030 Environment Variables and User Secrets Intermediate β†’ 19040 Custom Configuration Providers and Azure Key Vault Intermediate β†’ 19050 Configuration Validation and Fail-Fast Startup Intermediate β†’

πŸ“‚ Chapter 20: Logging β€” Built-In Logging and Serilog

20010 ILogger Fundamentals β€” Log Levels, Messages and Injection Intermediate β†’ 20020 Structured Logging β€” Properties, Scopes and Correlation Intermediate β†’ 20030 Serilog β€” Setup, Sinks and Enrichers Intermediate β†’ 20040 Request Logging and Performance Logging Intermediate β†’ 20050 Log Filtering, Sinks and Production Configuration Intermediate β†’

πŸ“‚ Chapter 21: Middleware Pipeline β€” Built-In and Custom

21010 Middleware Pipeline Fundamentals β€” Request and Response Flow Intermediate β†’ 21020 Built-In Middleware β€” HTTPS, CORS, Static Files and Routing Intermediate β†’ 21030 Custom Middleware β€” Writing Reusable Request Processing Components Intermediate β†’ 21040 Pipeline Branching β€” Map, MapWhen and UseWhen Intermediate β†’ 21050 Endpoint Routing β€” MapControllers, MapGet and Endpoint Metadata Intermediate β†’

πŸ“‚ Chapter 22: Background Services and IHostedService

22010 IHostedService Lifecycle β€” StartAsync, StopAsync and Graceful Shutdown Intermediate β†’ 22020 BackgroundService β€” The Long-Running Loop Pattern Intermediate β†’ 22030 Periodic Tasks β€” Timers, Cron and PeriodicTimer Intermediate β†’ 22040 Channel<T> β€” Async Producer-Consumer Queues Intermediate β†’ 22050 Worker Service β€” Standalone Background Processing Intermediate β†’

πŸ“‚ Chapter 23: .NET Core Security β€” Data Protection and HTTPS

23010 HTTPS, HSTS and Certificate Management Advanced β†’ 23020 Data Protection API β€” Encrypting Sensitive Data Advanced β†’ 23030 Anti-Forgery Tokens and Security Headers Advanced β†’ 23040 Secret Management and Key Rotation Advanced β†’ 23050 Secure Coding Practices β€” Input Validation, SQL Injection and XSS Prevention Advanced β†’

πŸ“‚ Chapter 24: Publishing β€” Self-Contained, Docker and IIS

24010 Publishing Modes β€” Framework-Dependent, Self-Contained and Single File Advanced β†’ 24020 Docker Containerisation β€” Dockerfile and Multi-Stage Builds Advanced β†’ 24030 Docker Compose β€” Local Multi-Service Development Advanced β†’ 24040 IIS and Windows Deployment β€” The ASP.NET Core Module Advanced β†’ 24050 CI/CD Pipeline β€” GitHub Actions for Build, Test and Deploy Advanced β†’

πŸ“‚ Chapter 25: ASP.NET MVC β€” Pattern and Project Setup

25010 The MVC Pattern β€” Model, View and Controller Roles Beginner β†’ 25020 Creating an ASP.NET Core MVC Project Beginner β†’ 25030 MVC Request Lifecycle β€” Routing to Response Beginner β†’ 25040 Conventional Routing β€” Route Templates and Constraints Beginner β†’ 25050 MVC Program.cs β€” Services, Middleware and Static Files Beginner β†’

πŸ“‚ Chapter 26: Controllers and Action Methods

26010 Controller Basics β€” Naming, Inheritance and DI Beginner β†’ 26020 Action Methods β€” Return Types, Parameters and HTTP Verbs Beginner β†’ 26030 Action Results β€” ViewResult, RedirectResult and All Result Types Beginner β†’ 26040 Model Binding Basics β€” Forms, Route Values and Query Strings Beginner β†’ 26050 TempData, ViewBag and ViewData β€” Passing Data to Views Beginner β†’

πŸ“‚ Chapter 27: Razor Views, Layouts and Partial Views

27010 Razor Syntax β€” C# in HTML Templates Intermediate β†’ 27020 Layouts and Sections β€” Master Page Templates Intermediate β†’ 27030 Partial Views β€” Reusable HTML Fragments Intermediate β†’ 27040 Tag Helpers β€” HTML-Friendly ASP.NET Core Helpers Intermediate β†’ 27050 View Components β€” Reusable UI with DI and Logic Intermediate β†’

πŸ“‚ Chapter 28: Models, Data Annotations and Validation

28010 ViewModels β€” Designing Data Contracts for Views Intermediate β†’ 28020 Data Annotations β€” Declarative Validation Rules Intermediate β†’ 28030 Custom Validation β€” IValidatableObject and Custom Attributes Intermediate β†’ 28040 Client-Side Validation β€” Unobtrusive jQuery Validation Intermediate β†’ 28050 ModelState Patterns β€” Errors, Display and AJAX Validation Intermediate β†’

πŸ“‚ Chapter 29: Routing and URL Generation

29010 Attribute Routing β€” Route Templates on Controllers and Actions Intermediate β†’ 29020 URL Generation β€” Url.Action, Url.RouteUrl and Tag Helpers Intermediate β†’ 29030 Route Constraints and Defaults β€” Fine-Tuning URL Matching Intermediate β†’ 29040 Areas β€” Organising Large MVC Applications Intermediate β†’ 29050 SEO-Friendly Routing β€” Slugs, Canonical URLs and Redirects Intermediate β†’

πŸ“‚ Chapter 30: Tag Helpers and View Components

30010 Custom Tag Helpers β€” Building Reusable HTML Components Intermediate β†’ 30020 Advanced Form Tag Helpers β€” Select, Checkbox and File Upload Intermediate β†’ 30030 Environment, Cache and Script Tag Helpers Intermediate β†’ 30040 Advanced View Components β€” Parameters, Caching and Testing Intermediate β†’ 30050 Razor Pages vs MVC β€” Choosing the Right Pattern Intermediate β†’

πŸ“‚ Chapter 31: ASP.NET Core Identity β€” Authentication and Roles

31010 ASP.NET Core Identity Setup β€” Users, Roles and Database Advanced β†’ 31020 User Registration and Login β€” UserManager and SignInManager Advanced β†’ 31030 Role-Based Authorization β€” Roles, Claims and Policies Advanced β†’ 31040 Email Confirmation and Password Reset Advanced β†’ 31050 External Login and Two-Factor Authentication Advanced β†’

πŸ“‚ Chapter 32: Action Filters, Error Handling and MVC Middleware

32010 Action Filters β€” OnActionExecuting and OnActionExecuted Advanced β†’ 32020 Result Filters and Exception Filters Advanced β†’ 32030 Global Error Handling β€” UseExceptionHandler and ProblemDetails Advanced β†’ 32040 Resource and Authorization Filters Advanced β†’ 32050 Filter Pipeline, Order and Cross-Cutting Concerns Advanced β†’

πŸ“‚ Chapter 33: Web API Fundamentals β€” REST and Project Setup

33010 REST Principles β€” Resources, Verbs and Status Codes Beginner β†’ 33020 ASP.NET Core Web API Project Setup Beginner β†’ 33030 The [ApiController] Attribute β€” Automatic Behaviour Beginner β†’ 33040 ControllerBase β€” HTTP Responses and Helper Methods Beginner β†’ 33050 Swagger and OpenAPI β€” Auto-Generated API Documentation Beginner β†’

πŸ“‚ Chapter 34: Controllers, Routing and HTTP Methods

34010 Web API Controller Structure β€” Route Prefixes and Action Names Beginner β†’ 34020 HTTP GET Patterns β€” Collections, Single Resources and Filtering Beginner β†’ 34030 HTTP POST, PUT and PATCH β€” Creating and Updating Resources Beginner β†’ 34040 HTTP DELETE and Special Actions β€” Soft Delete and Custom Operations Beginner β†’ 34050 Versioning Strategies and HTTP Headers Beginner β†’

πŸ“‚ Chapter 35: Request and Response β€” DTOs and Content Negotiation

35010 Request DTOs β€” Designing Input Contracts Beginner β†’ 35020 Response DTOs β€” Shaping API Output Beginner β†’ 35030 Advanced Model Binding β€” Sources, Custom Binders and Complex Types Beginner β†’ 35040 Content Negotiation β€” JSON, XML and Custom Formatters Beginner β†’ 35050 DTO Mapping Patterns β€” Manual, AutoMapper and Projection Beginner β†’

πŸ“‚ Chapter 36: Model Binding, Validation and FluentValidation

36010 The Validation Pipeline β€” DataAnnotations and ModelState in Web APIs Intermediate β†’ 36020 FluentValidation β€” Setup and Basic Rules Intermediate β†’ 36030 Advanced FluentValidation β€” Cross-Property Rules and Async Validators Intermediate β†’ 36040 Validation Error Response Shapes β€” Consistent 400 Responses Intermediate β†’ 36050 Validation Best Practices β€” Layered Validation and Domain Rules Intermediate β†’

πŸ“‚ Chapter 37: Entity Framework Core β€” Setup and DbContext

37010 EF Core Fundamentals β€” ORM Concepts and the DbContext Intermediate β†’ 37020 Entity Configuration β€” Data Annotations and Fluent API Intermediate β†’ 37030 Relationships β€” One-to-Many, Many-to-Many and One-to-One Intermediate β†’ 37040 DbContext Lifetime, Scoping and Connection Pooling Intermediate β†’ 37050 EF Core Querying Basics β€” LINQ, AsNoTracking and Eager Loading Intermediate β†’

πŸ“‚ Chapter 38: EF Core Migrations, Seeding and CRUD Operations

38010 EF Core Migrations β€” Creating, Applying and Managing Schema Changes Intermediate β†’ 38020 Data Seeding β€” HasData, Custom Seeds and Migration Seeds Intermediate β†’ 38030 CRUD Operations β€” Create, Read, Update and Delete with EF Core Intermediate β†’ 38040 Transactions β€” Explicit Transactions and SaveChanges Behaviour Intermediate β†’ 38050 Raw SQL and Stored Procedures β€” When to Go Beyond LINQ Intermediate β†’

πŸ“‚ Chapter 39: Repository Pattern and Unit of Work

39010 The Repository Pattern β€” Abstractions Over Data Access Intermediate β†’ 39020 Generic Repository β€” IRepository and Specification Pattern Intermediate β†’ 39030 Unit of Work β€” Coordinating Multiple Repositories Intermediate β†’ 39040 Testing with Repository Abstractions β€” In-Memory and Mocking Intermediate β†’ 39050 CQRS Intro β€” Separating Read and Write Models Intermediate β†’

πŸ“‚ Chapter 40: JWT Authentication and Role-Based Authorisation

40010 JWT Fundamentals β€” Structure, Claims and Validation Intermediate β†’ 40020 Token Generation β€” Issuing Access and Refresh Tokens Intermediate β†’ 40030 Protecting Endpoints β€” [Authorize] and Role-Based Access Intermediate β†’ 40040 Refresh Tokens β€” Sliding Expiry and Token Rotation Intermediate β†’ 40050 JWT Security Best Practices β€” Secrets, Storage and Revocation Intermediate β†’

πŸ“‚ Chapter 41: Middleware, Action Filters and Global Error Handling

41010 The Web API Middleware Pipeline β€” Request Context and Short-Circuiting Advanced β†’ 41020 Web API Action Filters β€” Logging, Rate Limiting and Idempotency Advanced β†’ 41030 Global Exception Handling β€” IExceptionHandler and ProblemDetails Advanced β†’ 41040 Request and Response Logging β€” Structured Logs for API Observability Advanced β†’ 41050 Health Checks, Readiness and Liveness Probes Advanced β†’

πŸ“‚ Chapter 42: API Versioning and Swagger/OpenAPI Documentation

42010 API Versioning Strategies β€” URL, Header and Query String Advanced β†’ 42020 Versioned Controllers β€” Maintaining Multiple API Versions Advanced β†’ 42030 Advanced OpenAPI β€” Schemas, Examples and Custom Operations Advanced β†’ 42040 NSwag β€” Generating TypeScript Clients for Angular Advanced β†’ 42050 API Documentation Best Practices β€” Contracts and Changelogs Advanced β†’

πŸ“‚ Chapter 43: Caching β€” In-Memory, Redis and Response Caching

43010 In-Memory Caching β€” IMemoryCache and Cache-Aside Pattern Advanced β†’ 43020 Distributed Caching β€” Redis with IDistributedCache and StackExchange.Redis Advanced β†’ 43030 Output Caching β€” ASP.NET Core 7+ Response Caching Advanced β†’ 43040 Cache Invalidation β€” Strategies and Patterns Advanced β†’ 43050 Caching Best Practices β€” TTL, Stampedes and Consistency Advanced β†’

πŸ“‚ Chapter 44: SignalR β€” Real-Time Web Communication

44010 SignalR Fundamentals β€” Hubs, Connections and Transport Fallback Advanced β†’ 44020 Hub Methods β€” Server Methods, Client Invocations and Groups Advanced β†’ 44030 Hub Authentication β€” JWT Bearer and User-Specific Channels Advanced β†’ 44040 Scaling SignalR β€” Redis Backplane for Multi-Server Deployments Advanced β†’ 44050 SignalR Patterns β€” Notifications, Live Updates and Presence Advanced β†’

πŸ“‚ Chapter 45: File Uploads, Email and Background Tasks

45010 File Uploads β€” IFormFile, Storage Abstraction and Validation Advanced β†’ 45020 Azure Blob Storage β€” Uploading, Downloading and Generating SAS URLs Advanced β†’ 45030 Email β€” Sending Transactional Email with MailKit and Templates Advanced β†’ 45040 Background Tasks β€” IHostedService, BackgroundService and Channels Advanced β†’ 45050 Hangfire β€” Persistent Job Scheduling and Retry Advanced β†’

πŸ“‚ Chapter 46: Performance, Rate Limiting and Security Hardening

46010 Rate Limiting β€” ASP.NET Core Built-In Policies and Per-User Limits Advanced β†’ 46020 Response Compression and Minimal API Performance Advanced β†’ 46030 Security Headers β€” HTTP Security Headers and HTTPS Enforcement Advanced β†’ 46040 API Security Hardening β€” OWASP Top 10 for Web APIs Advanced β†’ 46050 Performance Profiling β€” Benchmarking, Profiling and Production Tuning Advanced β†’

πŸ“‚ Chapter 47: Angular Setup, TypeScript and Project Structure

47010 Angular CLI and Workspace β€” ng new, Project Structure and Configuration Beginner β†’ 47020 TypeScript Essentials for Angular β€” Types, Interfaces and Generics Beginner β†’ 47030 Angular Modules vs Standalone Components β€” Angular 18 Architecture Beginner β†’ 47040 Feature-Based Project Structure β€” Organising a Large Angular App Beginner β†’ 47050 Angular 18 Features β€” Signals, Control Flow and Deferrable Views Beginner β†’

πŸ“‚ Chapter 48: Angular Components

48010 Component Anatomy β€” @Component, Template, Styles and Metadata Beginner β†’ 48020 @Input and @Output β€” Parent-Child Component Communication Beginner β†’ 48030 Component Lifecycle Hooks β€” ngOnInit, ngOnChanges and ngOnDestroy Beginner β†’ 48040 Content Projection and ViewChild β€” ng-content and Template References Beginner β†’ 48050 Change Detection β€” OnPush Strategy and Signal-Based Optimisation Beginner β†’

πŸ“‚ Chapter 49: Data Binding and Event Handling

49010 Interpolation and Property Binding β€” Displaying Data in Templates Beginner β†’ 49020 Event Binding β€” Handling User Interactions and the $event Object Beginner β†’ 49030 Two-Way Binding β€” ngModel and Signal-Based Alternatives Beginner β†’ 49040 Pipes β€” Transforming Data in Templates Beginner β†’ 49050 Template Reference Variables and Host Binding Beginner β†’

πŸ“‚ Chapter 50: Built-in Directives β€” NgIf, NgFor, NgClass, NgStyle

50010 New Built-In Control Flow β€” @if, @for, @switch in Angular 17+ Beginner β†’ 50020 Legacy *ngIf and *ngFor β€” Structural Directives Beginner β†’ 50030 NgClass and NgStyle β€” Dynamic Classes and Styles Beginner β†’ 50040 Custom Attribute Directives β€” Building Reusable DOM Behaviours Beginner β†’ 50050 ng-container, ng-template and Structural Directive Patterns Beginner β†’

πŸ“‚ Chapter 51: Angular Services and Dependency Injection

51010 Services and @Injectable β€” Creating Singleton Services Intermediate β†’ 51020 Dependency Injection Providers β€” useClass, useValue, useFactory, useExisting Intermediate β†’ 51030 Service Patterns β€” State Management, Error Handling and Caching Intermediate β†’ 51040 Hierarchical DI β€” Component-Level Providers and Scoped Services Intermediate β†’ 51050 NgModules β€” Understanding and Using Third-Party Module-Based Libraries Intermediate β†’

πŸ“‚ Chapter 52: HttpClient β€” Calling the ASP.NET Core Web API

52010 HttpClient Basics β€” GET, POST, PUT, DELETE and Response Types Intermediate β†’ 52020 HTTP Interceptors β€” Auth Headers, Error Handling and Retry Intermediate β†’ 52030 Typed HTTP Service β€” Complete API Client Pattern Intermediate β†’ 52040 File Upload and Download β€” FormData and Blob Responses Intermediate β†’ 52050 Loading States, Error Boundaries and Offline Handling Intermediate β†’

πŸ“‚ Chapter 53: Routing, Navigation, Guards and Lazy Loading

53010 Router Setup β€” Routes, RouterOutlet and Navigation Intermediate β†’ 53020 Route Guards β€” CanActivate, CanDeactivate and Resolve Intermediate β†’ 53030 Lazy Loading β€” loadComponent and loadChildren Intermediate β†’ 53040 Router State β€” ActivatedRoute, QueryParams and Navigation Extras Intermediate β†’ 53050 Router Patterns β€” Breadcrumbs, Scroll Restoration and Route Animations Intermediate β†’

πŸ“‚ Chapter 54: Template-Driven Forms

54010 NgModel and FormsModule β€” Wiring Up Template-Driven Forms Intermediate β†’ 54020 Template-Driven Validation β€” Built-In Validators and Error Display Intermediate β†’ 54030 Template-Driven Form Patterns β€” Multi-Step Forms and Dynamic Fields Intermediate β†’ 54040 Template-Driven vs Reactive Forms β€” Choosing the Right Approach Intermediate β†’ 54050 Template-Driven Forms with Angular Material Intermediate β†’

πŸ“‚ Chapter 55: Reactive Forms and Custom Validators

55010 FormGroup and FormControl β€” Building the Reactive Form Model Intermediate β†’ 55020 Reactive Validation β€” Built-In Validators, Composition and Error Display Intermediate β†’ 55030 Custom Validators β€” Sync and Async Validation Functions Intermediate β†’ 55040 Dynamic Forms β€” FormArray and Programmatic Control Management Intermediate β†’ 55050 Complete Post Form β€” Full BlogApp Create and Edit Form Intermediate β†’

πŸ“‚ Chapter 56: RxJS β€” Observables, Operators and Subjects

56010 Observables and Subscriptions β€” Cold vs Hot and the Subscription Lifecycle Advanced β†’ 56020 Core RxJS Operators β€” Transformation, Filtering and Combination Advanced β†’ 56030 Subjects β€” BehaviorSubject, ReplaySubject and EventBus Patterns Advanced β†’ 56040 RxJS Patterns β€” Search, Polling and Request Cancellation Advanced β†’ 56050 RxJS and Signals β€” Bridging with toSignal and toObservable Advanced β†’

πŸ“‚ Chapter 57: NgRx β€” Redux State Management for Angular

57010 Redux Pattern and NgRx β€” Actions, Reducers and Store Advanced β†’ 57020 Selectors and Effects β€” Derived State and Side Effects Advanced β†’ 57030 NgRx ComponentStore β€” Lightweight Local State Advanced β†’ 57040 NgRx Entity β€” Normalised Collection State Advanced β†’ 57050 NgRx Signal Store β€” Modern State Management with Signals Advanced β†’

πŸ“‚ Chapter 58: Angular Material and Responsive Layouts

58010 Angular Material Setup β€” Theming, Typography and Global Styles Intermediate β†’ 58020 Core Material Components β€” Navigation, Cards, Tables and Dialogs Intermediate β†’ 58030 Responsive Layout β€” Angular CDK Layout and Breakpoint Observer Intermediate β†’ 58040 Material Form Components β€” mat-form-field, mat-select and mat-datepicker Intermediate β†’ 58050 Material Feedback β€” Snackbar, Progress Indicators and Loading States Intermediate β†’

πŸ“‚ Chapter 59: Custom Directives, Pipes and Advanced Components

59010 Advanced Attribute Directives β€” Injecting Services, Input Aliasing and Exportable Directives Advanced β†’ 59020 Custom Structural Directives β€” *appIf, *appRepeat and Context Variables Advanced β†’ 59030 Advanced Pipes β€” Impure Pipes, Pipe Composition and Pipe with Injection Advanced β†’ 59040 Dynamic Components β€” ComponentRef, ViewContainerRef and CDK Portal Advanced β†’ 59050 Advanced Component Patterns β€” Control Value Accessor and Compound Components Advanced β†’

πŸ“‚ Chapter 60: Angular Security β€” JWT, Auth Guards and Best Practices

60010 Auth Service β€” JWT Storage, Token Refresh and Session Management Advanced β†’ 60020 Secure Token Storage β€” Memory vs localStorage vs httpOnly Cookies Advanced β†’ 60030 Auth Interceptor β€” Token Injection, Refresh and Retry Advanced β†’ 60040 XSS Prevention β€” Angular's Security Model and Safe HTML Handling Advanced β†’ 60050 Angular Security Checklist β€” CSRF, Route Protection and Pre-Deployment Review Advanced β†’

πŸ“‚ Chapter 61: SQL Server Setup β€” LocalDB, SSMS and sqlcmd

61010 SQL Server Editions β€” Developer, Express, LocalDB and Azure SQL Beginner β†’ 61020 SSMS and Azure Data Studio β€” Connecting and Managing the Database Beginner β†’ 61030 sqlcmd and Command-Line Tools β€” Scripting Database Operations Beginner β†’ 61040 Database Creation β€” CREATE DATABASE, File Groups and Configuration Beginner β†’ 61050 Connection Strings β€” LocalDB, Full Instance and Azure SQL Beginner β†’

πŸ“‚ Chapter 62: T-SQL Fundamentals β€” DDL and DML

62010 T-SQL Data Types β€” Choosing the Right Type for Each Column Beginner β†’ 62020 DDL β€” CREATE TABLE, ALTER TABLE and Constraints Beginner β†’ 62030 DML β€” INSERT, UPDATE, DELETE and OUTPUT Beginner β†’ 62040 Transactions β€” BEGIN TRANSACTION, COMMIT, ROLLBACK and TRY/CATCH Beginner β†’ 62050 BlogApp Schema β€” Complete DDL Script and Seed Data Beginner β†’

πŸ“‚ Chapter 63: Querying β€” SELECT, WHERE, ORDER BY and GROUP BY

63010 SELECT and WHERE β€” Retrieving and Filtering Data Beginner β†’ 63020 ORDER BY and Pagination β€” Sorted Results and OFFSET/FETCH Beginner β†’ 63030 Aggregate Functions and GROUP BY β€” Counting, Summing and Grouping Beginner β†’ 63040 Built-In Functions β€” String, Date and Conversion Functions Beginner β†’ 63050 BlogApp SELECT Queries β€” Published Posts, Search and Analytics Beginner β†’

πŸ“‚ Chapter 64: Joins, Subqueries and Common Table Expressions

64010 INNER JOIN and OUTER JOINs β€” Combining Related Tables Intermediate β†’ 64020 Subqueries β€” Correlated, Derived Tables and EXISTS Intermediate β†’ 64030 Common Table Expressions β€” WITH Clause for Readable Recursive Queries Intermediate β†’ 64040 Window Functions β€” ROW_NUMBER, RANK, LEAD and LAG Intermediate β†’ 64050 Advanced BlogApp Queries β€” CTEs, Window Functions and Analytical Patterns Intermediate β†’

πŸ“‚ Chapter 65: Stored Procedures and User-Defined Functions

65010 Stored Procedures β€” CREATE, ALTER, Parameters and Error Handling Intermediate β†’ 65020 Stored Procedure Patterns β€” Upsert, Paging and Audit Logging Intermediate β†’ 65030 Scalar Functions β€” Reusable Calculations and Formatting Intermediate β†’ 65040 Table-Valued Functions β€” Inline TVFs and Multi-Statement TVFs Intermediate β†’ 65050 Stored Procedures vs ORM β€” Choosing the Right Approach for the BlogApp Intermediate β†’

πŸ“‚ Chapter 66: Views, Triggers and Sequences

66010 Views β€” CREATE VIEW, Updatable Views and Indexed Views Intermediate β†’ 66020 INSTEAD OF Triggers β€” Intercepting INSERT, UPDATE and DELETE Intermediate β†’ 66030 AFTER Triggers β€” Audit Logging and Cascading Operations Intermediate β†’ 66040 Sequences β€” CREATE SEQUENCE and Application-Level ID Generation Intermediate β†’ 66050 Views, Triggers and Sequences β€” Production Patterns and EF Core Integration Intermediate β†’

πŸ“‚ Chapter 67: Indexes, Execution Plans and Query Optimisation

67010 Index Fundamentals β€” Clustered, Non-Clustered and Composite Indexes Advanced β†’ 67020 Reading Execution Plans β€” Identifying Scans, Seeks and Key Lookups Advanced β†’ 67030 Query Optimisation β€” Rewriting Queries for Better Execution Plans Advanced β†’ 67040 Index Maintenance β€” Fragmentation, Rebuild and Reorganise Advanced β†’ 67050 BlogApp Index Strategy β€” Designing and Validating the Complete Index Set Advanced β†’

πŸ“‚ Chapter 68: Transactions, Concurrency and Isolation Levels

68010 Isolation Levels β€” READ COMMITTED, SNAPSHOT and SERIALIZABLE Advanced β†’ 68020 Locking β€” Shared, Exclusive and Update Locks Advanced β†’ 68030 Deadlocks β€” Detection, Prevention and Resolution Advanced β†’ 68040 Optimistic Concurrency β€” rowversion, Timestamp and Application Patterns Advanced β†’ 68050 Concurrency Patterns β€” Preventing Double Submissions and Race Conditions Advanced β†’

πŸ“‚ Chapter 69: Entity Framework Core Deep Dive with SQL Server

69010 EF Core SQL Generation β€” What EF Core Sends to SQL Server Advanced β†’ 69020 EF Core Performance β€” N+1 Queries, Projections and Compiled Queries Advanced β†’ 69030 Advanced Migrations β€” Custom SQL, Data Migrations and Squashing Advanced β†’ 69040 Advanced EF Core Mapping β€” Value Objects, Owned Types and Table Splitting Advanced β†’ 69050 EF Core Interceptors β€” Audit Logging, Soft Delete and Query Tagging Advanced β†’

πŸ“‚ Chapter 70: SQL Server Security, Backup and Maintenance

70010 SQL Server Security β€” Logins, Users, Roles and Row-Level Security Advanced β†’ 70020 Backup and Restore β€” Full, Differential and Transaction Log Backups Advanced β†’ 70030 SQL Server Monitoring β€” DMVs, Extended Events and Performance Baselines Advanced β†’ 70040 Database Maintenance β€” DBCC, Statistics and Automated Jobs Advanced β†’ 70050 Production Readiness β€” Azure SQL, Connection Resilience and Pre-Deployment Checklist Advanced β†’

πŸ“‚ Chapter 71: Connecting Angular to ASP.NET Core β€” CORS and Environments

71010 CORS Configuration β€” Allowing Angular to Call the ASP.NET Core API Intermediate β†’ 71020 Angular Environments β€” environment.ts, Build Configurations and API URLs Intermediate β†’ 71030 Angular Development Proxy β€” Eliminating CORS in Local Development Intermediate β†’ 71040 API Client Service β€” Typed HttpClient Service with Error Handling Intermediate β†’ 71050 End-to-End Connection β€” Verifying the Angular to API Pipeline Intermediate β†’

πŸ“‚ Chapter 72: JWT Auth End-to-End β€” Angular Login to API Token

72010 ASP.NET Core JWT Setup β€” Issuing Tokens on Login Intermediate β†’ 72020 Angular Login Flow β€” LoginComponent, AuthService and Token Storage Intermediate β†’ 72030 Auth Interceptor End-to-End β€” Injecting Tokens and Handling 401s Intermediate β†’ 72040 Route Guards End-to-End β€” Protecting Admin Routes with Roles Intermediate β†’ 72050 Auth End-to-End Verification β€” Testing the Complete Auth Pipeline Intermediate β†’

πŸ“‚ Chapter 73: Full CRUD β€” Angular + Web API + EF Core + SQL Server

73010 API CRUD Endpoints β€” Posts Controller with Validation and Authorization Intermediate β†’ 73020 Angular Post List β€” Pagination, Filtering and State Management Intermediate β†’ 73030 Angular Post Detail β€” Full Post View with Related Content Intermediate β†’ 73040 Angular Admin CRUD β€” Post Create, Edit and Delete Intermediate β†’ 73050 Full CRUD Verification β€” End-to-End Data Flow from Angular to SQL Server Intermediate β†’

πŸ“‚ Chapter 74: File Uploads and Image Display Full Stack

74010 ASP.NET Core File Upload β€” IFormFile, Validation and Storage Intermediate β†’ 74020 Azure Blob Storage β€” Production File Storage with SAS URLs Intermediate β†’ 74030 Angular File Upload β€” Drag-and-Drop, Progress Tracking and Preview Intermediate β†’ 74040 Image Display β€” Responsive Images, Lazy Loading and CDN Optimisation Intermediate β†’ 74050 File Upload End-to-End β€” Cover Image and Avatar Full Flow Intermediate β†’

πŸ“‚ Chapter 75: SignalR Real-Time β€” Angular Client to .NET Hub

75010 ASP.NET Core SignalR Hub β€” Groups, Authentication and Method Invocation Advanced β†’ 75020 Angular SignalR Service β€” HubConnection, Reconnection and RxJS Integration Advanced β†’ 75030 Live Comments β€” Real-Time Comment Feed with Optimistic Updates Advanced β†’ 75040 SignalR Notifications β€” User-Specific Push and Admin Broadcasts Advanced β†’ 75050 SignalR End-to-End β€” Verifying Real-Time Flow and Scaling Considerations Advanced β†’

πŸ“‚ Chapter 76: Error Handling, Interceptors and Global UX Patterns

76010 ASP.NET Core Global Error Handling β€” ProblemDetails and Exception Middleware Advanced β†’ 76020 Angular HTTP Interceptors β€” Logging, Loading State and Retry Advanced β†’ 76030 Angular Error Boundaries β€” Global Error Handler and Component Error UI Advanced β†’ 76040 Global Loading State and Optimistic UX Patterns Advanced β†’ 76050 Part 7 Completion β€” Full Stack Integration Summary and Production Readiness Advanced β†’

πŸ“‚ Chapter 77: Testing Strategy β€” Pyramid, Tools and Best Practices

77010 The Test Pyramid β€” Unit, Integration and End-to-End Tests Intermediate β†’ 77020 C# Testing Tools β€” xUnit, FluentAssertions, Moq and Bogus Intermediate β†’ 77030 Angular Testing Tools β€” Jasmine, Karma, TestBed and Testing Library Intermediate β†’ 77040 What to Test β€” Coverage Strategy and Finding the Right Test Boundary Intermediate β†’ 77050 TDD Workflow β€” Red-Green-Refactor for the BlogApp Intermediate β†’

πŸ“‚ Chapter 78: Unit Testing C# with xUnit and FluentAssertions

78010 xUnit Fundamentals β€” Facts, Theories and Test Organisation Intermediate β†’ 78020 FluentAssertions β€” Readable Assertions for Every Type Intermediate β†’ 78030 Testing the BlogApp Service Layer β€” PostsService and AuthService Intermediate β†’ 78040 Testing Edge Cases β€” Boundary Values, Null Handling and Concurrency Intermediate β†’ 78050 Test Data Builders β€” Builder Pattern and AutoFixture for Maintainable Test Data Intermediate β†’

πŸ“‚ Chapter 79: Mocking Dependencies with Moq and NSubstitute

79010 Moq Fundamentals β€” Setup, Returns, Callback and Verify Intermediate β†’ 79020 Advanced Moq Patterns β€” Protected Members, Recursive Mocks and Moq.AutoMock Intermediate β†’ 79030 NSubstitute β€” Simpler Mocking Syntax for the BlogApp Intermediate β†’ 79040 Mocking HttpClient β€” Testing Services That Make External HTTP Calls Intermediate β†’ 79050 Test Doubles Patterns β€” When to Mock vs Stub vs Fake vs Spy Intermediate β†’

πŸ“‚ Chapter 80: Integration Testing ASP.NET Core Web API

80010 WebApplicationFactory β€” In-Memory API Testing Advanced β†’ 80020 Testing API Endpoints β€” Requests, Responses and Status Codes Advanced β†’ 80030 Test Database Strategies β€” Isolation, Seeding and Cleanup Advanced β†’ 80040 Authentication Integration Tests β€” JWT, Roles and Forbidden Access Advanced β†’ 80050 Integration Test Patterns β€” Shared Fixtures, Helpers and Maintainability Advanced β†’

πŸ“‚ Chapter 81: Unit Testing Angular with Jasmine and Karma

81010 Jasmine Fundamentals β€” describe, it, expect and Spies Intermediate β†’ 81020 Testing Angular Services β€” HttpClient, Signals and RxJS Observables Intermediate β†’ 81030 Testing Pipes, Validators and Pure Functions Intermediate β†’ 81040 Karma Configuration β€” Headless Chrome, Code Coverage and CI Intermediate β†’ 81050 Jest for Angular β€” Faster Unit Tests with jest-preset-angular Intermediate β†’

πŸ“‚ Chapter 82: Angular Component and Service Testing

82010 TestBed Component Testing β€” Rendering, Inputs and Outputs Advanced β†’ 82020 Testing Angular Signals β€” State, Effects and Computed Values Advanced β†’ 82030 Testing Reactive Forms β€” Validation, Submission and Error Messages Advanced β†’ 82040 Testing Routing β€” Navigation, Guards and Route Parameters Advanced β†’ 82050 Component Testing Patterns β€” Angular Testing Library and Page Objects Advanced β†’

πŸ“‚ Chapter 83: End-to-End Testing with Cypress

83010 Cypress Setup β€” Installation, Configuration and First Test Advanced β†’ 83020 Cypress Selectors and Interactions β€” Best Practices for Stable Tests Advanced β†’ 83030 Cypress Authentication β€” Login Flow and Session Management Advanced β†’ 83040 BlogApp E2E Flows β€” Critical User Journeys Advanced β†’ 83050 Cypress in CI β€” GitHub Actions, Artifacts and Parallel Execution Advanced β†’

πŸ“‚ Chapter 84: Coverage, CI Pipeline and Test Automation

84010 Code Coverage β€” Measuring, Reporting and Setting Meaningful Thresholds Advanced β†’ 84020 GitHub Actions CI Pipeline β€” Complete Multi-Stage Workflow Advanced β†’ 84030 Test Automation Quality β€” Preventing Flaky Tests and Maintaining Test Suites Advanced β†’ 84040 Mutation Testing β€” Verifying Test Quality with Stryker.NET Advanced β†’ 84050 Part 8 Completion β€” Testing Summary and Part 9 Preview Advanced β†’

πŸ“‚ Chapter 86: Backend β€” Domain, Application and Infrastructure Layers

86010 Complete Domain Model β€” Listings, Users and Contact Requests Advanced β†’ 86020 Application Layer β€” Command and Query Handlers Advanced β†’ 86030 Infrastructure β€” EF Core Schema, Repositories and Migrations Advanced β†’ 86040 API Controllers β€” Thin Adapters Over MediatR Advanced β†’ 86050 Backend Integration Tests β€” Testing the Full Clean Architecture Stack Advanced β†’

πŸ“‚ Chapter 87: Authentication, Roles and Listings Management

87010 ASP.NET Core Identity β€” Roles, Claims and Profile Extension Advanced β†’ 87020 Listing Ownership and Authorisation β€” Policies and Resource Guards Advanced β†’ 87030 Admin and Moderation β€” Listing Approval and User Management Advanced β†’ 87040 My Listings Dashboard β€” Angular Admin View for Sellers Advanced β†’ 87050 Seller Registration and Verification Flow Advanced β†’

πŸ“‚ Chapter 88: Angular Frontend β€” Browse, Search and Post Listings

88010 Angular App Architecture β€” Feature Modules, Routing and State Advanced β†’ 88020 Browse and Search β€” Listings Grid, Filters and Map View Advanced β†’ 88030 Create Listing Wizard β€” Multi-Step Form with Photo Upload Advanced β†’ 88040 Listing Detail β€” Photo Gallery, Contact Form and Seller Profile Advanced β†’ 88050 Search State, URL Persistence and Mobile UX Patterns Advanced β†’

πŸ“‚ Chapter 90: Deployment, CI/CD and Go-Live

90010 Azure Infrastructure β€” App Service, SQL, Redis and Storage Advanced β†’ 90020 GitHub Actions CD Pipeline β€” Build, Test and Deploy to Azure Advanced β†’ 90030 Database Migrations β€” Safe Schema Changes in Production Advanced β†’ 90040 Monitoring, Alerting and Incident Response Advanced β†’ 90050 Series Completion β€” Full-Stack Journey Review and Next Steps Advanced β†’