Static App Demo
Template-quality Azure web baseline: a pure-static Blazor WebAssembly frontend, a .NET 8 Azure Functions API, and Microsoft Entra ID auth—served together under Azure Static Web Apps.
Portfolio Snapshot
StaticAppDemo demonstrates a pragmatic “static-first” Azure stack with authentication and a clean seam for agent-style backends. The UI calls a small `/api/chat` surface that routes through Azure Static Web Apps to Azure Functions, with auth handled by SWA built-in Entra flows (`/.auth/*`).
What it proves
- Static-first frontend hosting that still supports secure API calls under one domain (SWA static + `/api/*`).
- Minimal-plumbing authentication with Microsoft Entra ID using SWA built-in auth and route protection.
- A future-proof “agent seam” (`IChatAgent`) so the backend can evolve without breaking the UI/API contract.
- Debuggability via correlation IDs returned in chat responses and identity verification via `/api/me`.
Key components
- Frontend: Blazor WebAssembly (pure static publish output).
- Hosting: Azure Static Web Apps serving both static content and API endpoints under one domain.
- Backend: Azure Functions v4, .NET 8 isolated (example endpoints: `/api/hello`, `/api/me`, `/api/chat`).
- Auth: SWA built-in Microsoft Entra ID auth (`/.auth/login/aad`, `/.auth/me`) and protected routes via `staticwebapp.config.json`.
- Contracts: Shared DTOs in `src/Shared` to prevent drift between UI and API.
- Agent seam: `IChatAgent` interface + tool-based demo implementation for safe, swappable backends.
- Tracing: Correlation IDs included in chat responses for debugging and future observability.
Delivery milestones
- Static Blazor WASM UI shipped as a “static-first” frontend baseline.
- Functions API established with a minimal contract surface (`/api/me`, `/api/chat`).
- Authentication wired using SWA built-in Entra flows with route protection and principal propagation.
- Shared DTO/contracts introduced to keep refactors safe across UI and API.
- Agent seam + correlation IDs added to enable iterative backend evolution and clean debugging.
Operational notes
- This is intentionally “template-quality”: small surface area, clear seams, and minimal moving parts.
- SWA built-in auth reduces custom auth plumbing and provides identity to the API via `x-ms-client-principal`.
- The goal is a clean platform baseline: deploy fast, verify quickly, and leave room for richer agent backends later.
Verification
Screenshots coming soon.