XtremeIdiots.Portal.Settings.Contracts.V1

Typed platform settings contracts, validators, and schema compatibility helpers for portal settings namespaces.


Keywords
aad-groups, api-management, app-insights, app-service, azure, github-actions, key-vault, sql-database, terraform
License
GPL-3.0-only
Install
Install-Package XtremeIdiots.Portal.Settings.Contracts.V1 -Version 4.2.34

Documentation

XtremeIdiots Portal - Repository

Build and Test Code Quality Copilot Setup Steps Dependabot Auto-Merge Deploy Dev Deploy Prd Destroy Development Destroy Environment PR Verify Release - Publish NuGet Release - Version and Tag Update Dashboard from Staging Dashboard

Documentation

Overview

Versioned ASP.NET Core APIs power player, server, map, and telemetry flows for the XtremeIdiots portal, with V1 hosts kept alongside the newer V2 surface that adopts OData-like query options. Shared abstractions and generated API clients keep contracts aligned, while the EF Core data library is reverse engineered from the database DACPAC to drive data access. Libraries multi-target net9.0 and net10.0, API hosts run on net9.0, and responses standardize on ApiResponse envelopes and collection models.

NuGet Packages

Package Latest Description
XtremeIdiots.Portal.Repository.Api.Client.V1 NuGet Typed client for Repository API V1
XtremeIdiots.Portal.Repository.Api.Client.V2 NuGet Typed client for Repository API V2
XtremeIdiots.Portal.Repository.Api.Client.Testing NuGet In-memory fakes and test helpers for consumer integration tests

Route to Live

Deployment can be driven by pull request labels on top of the standard PR Verify pipeline (build/test run automatically for all non-draft PRs; a Terraform plan against Development runs on opened/synchronize/reopened/ready_for_review when deploy-dev is not applied).

  • deploy-dev — runs the Terraform plan+apply, SQL database deploy, and V1/V2 App Service deploys against the Development environment, then verifies the deployed build via the /v1.0/info and /v2.0/info endpoints. Dependabot PRs are intentionally excluded from the apply/deploy jobs.
  • run-prd-plan — runs a Terraform plan against the Production environment for review (no apply).

Merges to main that touch src/** trigger the Release - Version and Tag workflow (Nerdbank.GitVersioning), which in turn publishes the API client NuGet packages via Release - Publish NuGet. Production infrastructure and app deployment run from the Deploy Prd workflow.

Contributing

Please read the contributing guidance; this is a learning and development project.

Security

Please read the security guidance; I am always open to security feedback through email or opening an issue.