tc-public-features-ui
Angular 18 single-page app intended as the admin UI for the tc-public-features flag service, currently still the untouched Angular CLI scaffold deployed to CloudFront/S3.
Health score
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.
Facts
| Languages | typescript |
| Frameworks | Angular 18 |
| Runtimes | nodejs |
| Tests / CI | none / CI in place |
| Last commit | 2025-05-02 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Public web (system generated; curate in repo-owners.json to override) |
| Product area | Shared platform |
| Hosted | AWS Deployed to AWS
|
| Releases | 0 release pipeline(s): |
| Integration | - |
| Source | Open in Azure DevOps |
Dependencies in context
Entanglement
loose No binding mechanisms apply: this system needs no untangling work.
Depends on / used by
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 applicableNot 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 applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Retire insteadThis repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.
Recommended actions
Review tc-public-features-ui for retirement
Dormant (last commit 2025-05-02) 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
proposedAssessment notes
tc-public-features-ui
Purpose
By name and pipeline placement, the management UI for the tc-public-features feature-flag API. In substance it is still the ng new starter: app.component.html is the 336-line Angular placeholder page, app.routes.ts is an empty array, and there are no services, components or API calls of any kind. The deployment plumbing was built (the last commit wires up Terraform-variables deployment) but the application itself was never started.
Tech stack
TypeScript on Angular 18 (standalone components, provideRouter, zone change detection with event coalescing). Angular CLI 18 build with per-environment configurations (development, qa, staging, production — the environment files contain only a production boolean), ESLint 9 with angular-eslint, Karma/Jasmine with a trx reporter, Node 20.11 toolchain.
Deployment
Included as prod_application with 0 releases — pure YAML/AWS. Build pipeline tc-public-features-ui from in-repo azure-pipeline.yaml on the shared InternalOSS/azure-pipelines-templates jobs/ci.yml: ng build (Node 20.11.x, configuration auto-selected qa/staging by branch with a manual override parameter), artefacts pushed to the tc-public-ui-artifacts S3 bucket and served through a cloudfront_spa distribution defined in the aws-public-tc-apps Terraform repo, tfvars deployment, functional area public.
Dependencies
None beyond stock Angular packages — no internal npm packages, no HTTP client usage, and therefore no runtime dependency on tc-public-features yet despite the name.
Data stores
None.
Integration points
None implemented. When built out it would presumably call the tc-public-features REST API.
Code health
Only the CLI-generated app.component.spec.ts (asserts the scaffold title), so effectively no tests. README is the stock Angular CLI text. Five commits of history visible, the last on 2025-05-02 and infrastructure-related; the repo has been dormant since.
Modernisation risks
Low as code — Angular 18 on Node 20 is current and there is almost nothing to modernise. The real finding is estate hygiene: a placeholder SPA is deployed to production CloudFront/S3 infrastructure with no functionality behind it. It should either be built out to manage public feature flags or be retired along with its pipeline and Terraform footprint before it decays into an unowned asset.
Data store follow-up (2026-07-28)
Follow-up scan of project files, configuration and the central Terraform repos confirmed the empty data_stores list is correct. Static front end; no data store packages or configuration found.