- API Backend Mapping - API Management backend mapping strategy for versioned routes.
- API Design V2 - Contract, query options, and response envelope for v2 endpoints.
- API Versioning - Host and APIM versioning implementation details.
- Dotnet Support Strategy - Multi-targeting plan for .NET 9/10 across libraries and APIs.
- EF Core DataLib - Regeneration walkthrough for the EF Core data layer from the DACPAC.
- Player API Endpoints - Reference for player-related API endpoint behavior and contracts.
- Settings Contracts Compatibility Shim - Platform settings contract ownership, migration, and troubleshooting guidance.
- Testing - Unit and integration test approach across API and client projects.
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.
| Package | Latest | Description |
|---|---|---|
XtremeIdiots.Portal.Repository.Api.Client.V1 |
Typed client for Repository API V1 | |
XtremeIdiots.Portal.Repository.Api.Client.V2 |
Typed client for Repository API V2 | |
XtremeIdiots.Portal.Repository.Api.Client.Testing |
In-memory fakes and test helpers for consumer integration tests |
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/infoand/v2.0/infoendpoints. 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.
Please read the contributing guidance; this is a learning and development project.
Please read the security guidance; I am always open to security feedback through email or opening an issue.