Add Architecture Decision Records (ADRs) for v5.0.0 and update 404 page#176
Conversation
BryanSoltis
commented
Dec 9, 2025
- Added ADR-001: Application Architecture - Documents Blazor Server architecture, API versioning, repository pattern, and design patterns
- Added ADR-002: Hosting Architecture - Covers deployment models (Azure App Service, Docker, standalone, ACI) with health check details
- Added ADR-003: Data Storage Architecture - Details dual storage provider (SQLite/FileSystem), migration strategy, and caching
- Updated 404 page with professional design while keeping subtle humor relevant to naming conventions
- Replaced informal 'runnoft.png' image with clean card-based layout and helpful navigation
- Added ADR-001: Application Architecture - Documents Blazor Server architecture, API versioning, repository pattern, and design patterns - Added ADR-002: Hosting Architecture - Covers deployment models (Azure App Service, Docker, standalone, ACI) with health check details - Added ADR-003: Data Storage Architecture - Details dual storage provider (SQLite/FileSystem), migration strategy, and caching - Updated 404 page with professional design while keeping subtle humor relevant to naming conventions - Replaced informal 'runnoft.png' image with clean card-based layout and helpful navigation
There was a problem hiding this comment.
Pull request overview
This pull request introduces comprehensive Architecture Decision Records (ADRs) for the Azure Naming Tool v5.0.0 and modernizes the 404 error page with a professional, user-friendly design.
Key Changes:
- Added three detailed ADRs documenting application, hosting, and data storage architecture decisions
- Replaced the informal 404 page (with image) with a clean, card-based layout featuring helpful navigation links
- Maintained subtle humor relevant to naming conventions while improving professionalism
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
src/Components/Pages/404.razor |
Completely redesigned 404 page with professional card-based UI, navigation buttons, and external help links |
docs/v5.0.0/adrs/ADR-001-application-architecture.md |
Documents Blazor Server architecture, .NET 10.0 stack, API versioning, repository pattern, and design patterns |
docs/v5.0.0/adrs/ADR-002-hosting-architecture.md |
Covers four deployment models (Azure App Service, Docker, Standalone, ACI) with detailed health check endpoints and configuration |
docs/v5.0.0/adrs/ADR-003-data-storage-architecture.md |
Details dual storage provider architecture (SQLite/FileSystem), migration strategy, caching, and data integrity measures |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| **Architecture:** | ||
| - Multi-stage Docker build (build → publish → runtime) | ||
| - Base image: `mcr.microsoft.com/dotnet/aspnet:8.0` (Note: Will update to 10.0) |
There was a problem hiding this comment.
The Docker base image is specified as mcr.microsoft.com/dotnet/aspnet:8.0 with a note "(Note: Will update to 10.0)", but ADR-001 line 24 states the application uses ".NET 10.0" as the current technology stack. This creates confusion about whether the application is currently on .NET 8.0 or 10.0. Please either:
- Update the Docker image to
10.0if the application is already on .NET 10.0, or - Clarify in ADR-001 that the migration to .NET 10.0 is planned but not yet complete
| - Base image: `mcr.microsoft.com/dotnet/aspnet:8.0` (Note: Will update to 10.0) | |
| - Base image: `mcr.microsoft.com/dotnet/aspnet:8.0` (Note: Migration to .NET 10.0 is planned; currently using 8.0) |
| @page "/404" | ||
| <img src="/images/runnoft.png" /> | ||
| <p role="alert">Whoa, it looks like that page doesn't exist! Please check the URL and try again!</p> | ||
| @using AzureNamingTool.Helpers |
There was a problem hiding this comment.
The @using AzureNamingTool.Helpers directive is not used in this file. The page only contains HTML markup and no C# code that references the Helpers namespace. Consider removing this unused using directive to keep the code clean.
| @using AzureNamingTool.Helpers |
| ```json | ||
| { | ||
| "StorageProvider": "SQLite", // or "FileSystem" | ||
| "ConnectionStrings": { | ||
| "DefaultConnection": "Data Source=..." | ||
| }, | ||
| "AzureValidation": { | ||
| "Enabled": true, | ||
| "AuthMode": "ManagedIdentity", // or "ServicePrincipal" | ||
| "Strategy": "NotifyOnly" // or "AutoIncrement", "Fail", "SuffixRandom" | ||
| }, | ||
| "Logging": { | ||
| "LogLevel": { "Default": "Information" } | ||
| } | ||
| } | ||
| ``` |
There was a problem hiding this comment.
The JSON example contains inline comments (e.g., // or "FileSystem"), which are not valid JSON syntax. While this is clearly meant as documentation, consider either:
- Removing the comments and adding them as separate notes, or
- Adding a note like "(Example with comments for clarity; remove comments in actual configuration)"
to avoid confusion for users who might copy-paste this configuration.