Skip to content

punkouter26/PoPunkouterSoftware

Repository files navigation

PoPunkouterSoftware

PoPunkouterSoftware is a .NET 10 Blazor Web App with a server host, a WebAssembly client, and operational endpoints for Azure, diagnostics, GitHub activity, and infrastructure scanning.

Solution Layout

  • PoPunkouterSoftware/: ASP.NET Core host, API endpoints, diagnostics, and Blazor shell.
  • PoPunkouterSoftware.Client/: WASM UI, layouts, pages, and static assets.
  • PoPunkouterSoftware.Shared/: contracts and models shared between the host and client.
  • PoPunkouterSoftware.Infrastructure/: Azure and integration adapters.
  • tests/UnitTests/: xUnit unit tests.
  • tests/IntegrationTests/: integration tests with WebApplicationFactory and Azurite (Testcontainers).
  • tests/E2EAPI/: pure HTTP API end-to-end tests that emulate front-end functionality.
  • tests/E2EUI/: C# Playwright browser tests (run on demand against a live instance).
  • SCRIPTS/: setup and automation helpers.

Local Development

Prerequisites:

  • .NET SDK from global.json
  • Node.js for Playwright tests
  • Docker Desktop for Azurite-backed integration scenarios

Common commands:

dotnet build .\PoPunkouterSoftware\PoPunkouterSoftware.csproj
dotnet test .\tests\UnitTests
dotnet test .\tests\IntegrationTests
dotnet test .\tests\E2EAPI

Available VS Code tasks in this workspace include:

  • build
  • test-unit
  • start-azurite
  • start-api-server

The app runs locally on HTTP port 8000.

Runtime Notes

  • /health and /api/health provide machine-readable health output.
  • /diag and related /api/diag/* endpoints expose diagnostics details with masked secrets.
  • Azure behavior prefers Key Vault and managed identity when available, with local fallback configuration for development.
  • The client dashboard consumes the shared Azure report models generated by the server and infrastructure layers.
  • The Azure dashboard can download New-AzureEfficiencyReport.ps1, a local Azure CLI audit that generates azure-inventory-report.html and a review-only cleanup_suggestions.ps1 with commented commands.

Testing Strategy

  • Unit tests cover pure logic and API helpers.
  • Integration tests cover host configuration, diagnostics endpoints, and Azure Table Storage behavior.
  • E2E tests cover browser flows and static asset availability.

Developer Guidance

  • Read architecture.md and AGENT.MD before broad changes.
  • Keep diagnostics endpoints available but do not link them from the UI.
  • Preserve Po-prefixed naming and strict build quality defaults from Directory.Build.props.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors