Skip to content

Commit f247f90

Browse files
Update TUTORIAL.md to include Playwright testing submodule
- Add Playwright to introduction - Create new Repository Architecture section listing all 4 submodules - Enhance Part 5 with explicit Playwright testing coverage - Add LAB-07: E2E Testing with Playwright - Update recommended learning path to 13 steps - Include Playwright in "What You'll Build" section Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 9266081 commit f247f90

File tree

1 file changed

+63
-5
lines changed

1 file changed

+63
-5
lines changed

docs/TUTORIAL.md

Lines changed: 63 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Building Modern Web Applications with Angular, .NET, and OAuth 2.0 — Complete Tutorial Series
22

3-
Learn how to build secure, scalable enterprise applications using the **CAT Pattern** (Client, API Resource, Token Service) with Angular 20, .NET 10, and Duende IdentityServer.
3+
Learn how to build secure, scalable enterprise applications using the **CAT Pattern** (Client, API Resource, Token Service) with Angular 20, .NET 10, and Duende IdentityServer, plus comprehensive **end-to-end testing** with Playwright.
44

55
## 📚 Tutorial Series
66

@@ -81,15 +81,18 @@ Learn how to build secure, scalable enterprise applications using the **CAT Patt
8181

8282
**Topics covered:**
8383
* Git submodules deep dive (workflows, commands, best practices)
84-
* Testing strategies (unit, integration, E2E with Playwright)
84+
* Testing strategies (unit, integration, E2E)
85+
* **Playwright E2E testing submodule** (separate repo for tests)
86+
* Test automation for authentication flows
87+
* Running tests across all CAT components
8588
* Docker containerization (Dockerfiles, docker-compose)
8689
* CI/CD pipelines (GitHub Actions)
8790
* Production deployment (Azure, AWS)
8891
* Monitoring and logging (Application Insights, Serilog)
8992
* Performance optimization (caching, compression, lazy loading)
9093
* Production security hardening
9194

92-
**Perfect for:** DevOps, production deployments, CI/CD automation, containerization
95+
**Perfect for:** DevOps, production deployments, CI/CD automation, containerization, test automation
9396

9497
---
9598

@@ -110,6 +113,54 @@ Learn how to build secure, scalable enterprise applications using the **CAT Patt
110113

111114
---
112115

116+
## 🏗️ Repository Architecture
117+
118+
This tutorial repository uses **Git submodules** to organize the CAT Pattern into four independent components:
119+
120+
### Core Components (CAT Pattern)
121+
122+
1. **Client**`Clients/TalentManagement-Angular-Material/`
123+
* Angular 20 + Material Design SPA
124+
* OIDC authentication with PKCE
125+
* Repository: https://github.com/workcontrolgit/TalentManagement-Angular-Material
126+
127+
2. **API Resource**`ApiResources/TalentManagement-API/`
128+
* .NET 10 Web API with Clean Architecture
129+
* JWT Bearer token validation
130+
* Repository: https://github.com/workcontrolgit/TalentManagement-API
131+
132+
3. **Token Service**`TokenService/Duende-IdentityServer/`
133+
* Duende IdentityServer 7.0
134+
* OAuth 2.0 / OpenID Connect provider
135+
* Repository: https://github.com/workcontrolgit/Duende-IdentityServer
136+
137+
### Testing Component
138+
139+
4. **E2E Tests**`Tests/AngularNetTutorial-Playwright/`
140+
* Playwright end-to-end tests
141+
* Full authentication flow testing
142+
* Cross-component integration tests
143+
* Repository: https://github.com/workcontrolgit/AngularNetTutorial-Playwright
144+
145+
**Why Git Submodules?**
146+
* Each component can be developed, versioned, and tested independently
147+
* Reuse components across multiple projects
148+
* Clear separation of concerns
149+
* Independent CI/CD pipelines per component
150+
151+
**Getting Started:**
152+
```bash
153+
# Clone with all submodules
154+
git clone --recurse-submodules https://github.com/workcontrolgit/AngularNetTutorial.git
155+
156+
# Or initialize submodules after cloning
157+
git submodule update --init --recursive
158+
```
159+
160+
See **[SETUP-SUBMODULES.md](../SETUP-SUBMODULES.md)** for detailed Git submodule instructions.
161+
162+
---
163+
113164
## 🧪 Hands-On Labs
114165

115166
**Want to learn by doing?** Follow our progressive hands-on labs that teach practical skills by building with the actual source code.
@@ -148,12 +199,18 @@ Learn how to build secure, scalable enterprise applications using the **CAT Patt
148199
* **Prerequisites:** LAB-05 completed
149200
* **Continue to:** [LAB-06: Docker Deployment](labs/LAB-06-docker-deployment.md)
150201

202+
**LAB-07: E2E Testing with Playwright (45 minutes)**
203+
* **Focus:** Write and run end-to-end tests for authentication flows
204+
* **Prerequisites:** LAB-06 completed
205+
* **Continue to:** [LAB-07: E2E Testing](labs/LAB-07-e2e-testing.md)
206+
151207
### What You'll Build
152208

153209
**LAB-03:** Add a "Notes" field to Employee entity (Domain → Migration → Application → Testing)
154210
**LAB-04:** Build an Angular search component with Material Design, reactive forms, and RxJS
155211
**LAB-05:** Write unit tests for validators, services, and components
156212
**LAB-06:** Containerize all three CAT Pattern components with Docker Compose
213+
**LAB-07:** Write Playwright E2E tests for authentication and CRUD operations
157214

158215
**[Start with LAB-01: Verify Setup →](labs/LAB-01-verify-setup.md)**
159216

@@ -183,9 +240,10 @@ Learn how to build secure, scalable enterprise applications using the **CAT Patt
183240
7. **Read Part 4** (Angular Client) — Learn Angular patterns
184241
8. **Complete LAB-04** — Build Angular component
185242
9. **Complete LAB-05** — Add unit tests
186-
10. **Read Part 5** (Advanced Topics) — Learn Docker & deployment
243+
10. **Read Part 5** (Advanced Topics) — Learn Docker, deployment & testing
187244
11. **Complete LAB-06** — Containerize the application
188-
12. **Read Part 6** (Real-World Features) — Production patterns
245+
12. **Complete LAB-07** — Write E2E tests with Playwright
246+
13. **Read Part 6** (Real-World Features) — Production patterns
189247

190248
---
191249

0 commit comments

Comments
 (0)