Platform Evolution
Assessment run-2026-07-27-1 · 213 of 213 repos assessed
Repos / tc-auction

tc-auction

Conference charity-auction application: a .NET 8 FastEndpoints API with a SignalR hub for live bidding over MongoDB, plus a Vue 3/Vite single-page UI.

75 · greenlowlooseOn-premZDD: not applicableweb-uidormant

Health score

75

0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.


Runtime currency / 25
25
Runs on supported modern .NET
Legacy transport / 15
15
No legacy WCF or SOAP surface
Test posture / 15
0
No tests
Security hygiene / 15
15
No credentials found in source
Dangerous coupling / 15
15
No dangerous coupling detected
Activity / 10
0
Dormant: no meaningful change for two years or more while still deployed
Deployment hygiene / 5
5
CI in place
Health over time
2026-07-24 (run-2026-07-24-1): 752026-07-27 (run-2026-07-27-1): 75
No change since 2026-07-24 (75 to 75).

Facts

Languagescsharp, javascript
FrameworksASP.NET Core 8, FastEndpoints 6, Vue 3, Vite 7
Runtimes.NET 8, nodejs
Tests / CInone / CI in place
Last commit2025-10-15
OwnerOwner unknown (mapping to be curated)
DomainAgent tools and community (system generated; curate in repo-owners.json to override)
Product areaShared platform
HostedOn-prem Deployed to our own machines
  • Release "\auction\tc-auction-api": QA: deployment-group phase (agents on our own machines)
  • Release "\auction\tc-auction-api": Staging: deployment-group phase (agents on our own machines)
  • Release "\auction\tc-auction-api": Production: deployment-group phase (agents on our own machines)
  • Release "\auction\tc-auction-api": Training: deployment-group phase (agents on our own machines)
  • Release "\auction\tc-auction-api": DR: deployment-group phase (agents on our own machines)
Releases2 release pipeline(s): \auction\tc-auction-api; \auction\tc-auction-ui
Integrationrest, signalr
SourceOpen in Azure DevOps

Risk flags

Each flag links to its glossary definition.

Dependencies in context

Laying out the graph…
greenamberreddata store (square, dashed link)Node size follows fan-in. Click any node to open it.

Entanglement

loose No binding mechanisms apply: this system needs no untangling work.

    Depends on / used by

    Used by (0)
    No internal dependents.

    Data stores
    mongodb:TcAuction

    Migration playbooks

    Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.

    ZDD adoption

    Not applicable

    Not a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Retirement or consolidation candidate; do not invest in ZDD adoption.

    SQL Server exit

    Not applicable

    No SQL Server dependency is recorded for this repo. Nothing to migrate.

    Containerisation

    Retire instead

    This repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.

    Recommended actions

    Review tc-auction for retirement

    Dormant (last commit 2025-10-15) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.

    Impact: Shrinks the estate before the expensive work begins

    proposed

    Assessment notes

    tc-auction

    Purpose

    A live auction app built for the TC conference (author-labelled "Conference Auction UI"): users browse auction items, place bids and see updates pushed in real time; a small hardcoded list of management users administers items. One repo contains both the API and the SPA.

    Tech stack

    API: C# .NET 8 with FastEndpoints 6 (endpoint classes for bids/items/me), Asp.Versioning header versioning, Mapster, FluentValidation, PhenixAuth authentication schemes (target Auction) plus TC.Cognito.Auth.Client, Swagger, ApiTools diagnostics/logging, and a SignalR AuctionHub broadcasting bid updates. UI: Vue 3 + Vite 7 SPA with @microsoft/signalr and @azure/msal-browser (Azure AD sign-in), served via nginx with a Dockerfile/docker-compose for local dev.

    Deployment

    Included as prod_application with 2 releases. YAML builds: build.api.yml (shared InternalOSS/azure-pipelines-templates CI template, SDK 8.x — note its path filter says src/TC.Auction.API/* but the project lives at src/Auction.API, so path-filtered triggering is broken) and build.ui.yml (npm install + Vite build, zipped artifact). Release pipelines \auction\tc-auction-api and \auction\tc-auction-ui.

    Dependencies

    Internal packages: TC.ConnectionBroker.* (tc-connectionbroker, Mongo/Api/DI) and TravelCounsellors.ApiTools (tc-api-tools); PhenixAuth, TC.Cognito.Auth.Client and TC.FluentResults map to no included repo. External: Azure AD via MSAL in the browser.

    Data stores

    MongoDB database TcAuction (connection brokered through TC.ConnectionBroker.Mongo; database name in appsettings).

    Integration points

    REST (FastEndpoints under /Api/AuctionApi) and SignalR for real-time bid broadcast.

    Code health

    No test projects at all. CI exists via YAML pipelines. Management users are a hardcoded username list in appsettings.json, and the API CORS policy allows any origin. Last commit 2025-10-15 — consistent with an event-driven app that is only touched around conference time.

    Modernisation risks

    Low: modern stack (.NET 8, Vue 3) and a narrow, seasonal purpose. The concerns are operational rather than technical debt — zero automated tests, wide-open CORS, config-embedded admin list, and a broken CI path filter — worth fixing if the app is reused for future conferences rather than retired.