Skip to content

Commit 6dd5b02

Browse files
committed
Exercise 14: Removed the initial constitution task (to help reduce lab time below 60 minutes). Updated the TechStack.md file with further instructions to help avoid issues during the implementation phase.
1 parent 0875c38 commit 6dd5b02

2 files changed

Lines changed: 53 additions & 95 deletions

File tree

DownloadableCodeProjects/standalone-lab-projects/sdd-get-started-rss-feed/StakeholderDocuments/TechStack.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ This incremental approach makes development extremely fast while keeping the arc
7777

7878
When creating a new Blazor WebAssembly project from the template, the project includes demonstration pages that must be removed to avoid conflicts with MVP features.
7979

80+
**⚠️ CRITICAL: This cleanup must be completed in Phase 2 (Foundational) and VERIFIED before any UI feature implementation begins. Runtime errors from incomplete cleanup will waste development time.**
81+
8082
**Required cleanup steps:**
8183

8284
1. **Remove template demo pages** from `frontend/[ProjectName].UI/Pages/`:
@@ -93,6 +95,32 @@ When creating a new Blazor WebAssembly project from the template, the project in
9395
- Ensure only ONE page uses `@page "/"` directive (your main MVP page)
9496
- All other pages should use unique routes (e.g., `@page "/settings"`)
9597

98+
4. **Verify cleanup completion** before proceeding with implementation:
99+
100+
```powershell
101+
# List all Razor pages - should show ONLY your MVP pages (e.g., NotFound.razor, Subscriptions.razor)
102+
Get-ChildItem frontend/[ProjectName].UI/Pages/ -Filter *.razor | Select-Object Name
103+
```
104+
105+
**STOP: Do not proceed with feature implementation until:**
106+
- ✗ Home.razor is GONE
107+
- ✗ Counter.razor is GONE
108+
- ✗ Weather.razor is GONE
109+
- ✓ Only your MVP pages remain
110+
111+
5. **Test for routing conflicts immediately** after cleanup:
112+
113+
```powershell
114+
# Clean build to remove cached assemblies
115+
dotnet clean frontend/[ProjectName].UI/[ProjectName].UI.csproj
116+
dotnet build frontend/[ProjectName].UI/[ProjectName].UI.csproj
117+
118+
# Start frontend to verify no routing errors
119+
dotnet run --project frontend/[ProjectName].UI
120+
```
121+
122+
Navigate to the frontend URL in your browser. If you see an "ambiguous route" error in the browser console (F12 Developer Tools), cleanup is incomplete. **Fix the issue before implementing any features.**
123+
96124
**Why this matters:**
97125

98126
Blazor templates include demonstration pages with pre-configured routes. If you create new pages with the same routes (especially the root route `/`), you'll encounter **ambiguous route exceptions** at runtime. The error message will look like:
@@ -103,6 +131,8 @@ System.InvalidOperationException: The following routes are ambiguous:
103131
'' in '[ProjectName].UI.Pages.YourFeature'
104132
```
105133

134+
These errors only appear at runtime after you've already implemented features, making them costly to debug. The verification steps above catch this issue immediately during Phase 2 cleanup, before any feature work begins.
135+
106136
Cleaning up template pages before implementing MVP features prevents these conflicts and ensures a clean project structure focused on business requirements.
107137

108138
### Port configuration

0 commit comments

Comments
 (0)