This monorepo contains the Test Data Publisher UI and API.
- UI: Angular app under
apps/ui - API: .NET solution under
apps/api
apps/
api/ # .NET API solution, projects, tests, deployment templates, and local database tooling
ui/ # Angular application, UI package.json, Cypress tests, and UI config
See docs/repo-structure.md for the conventions behind the layout.
The repo pins Node and .NET in .tool-versions. The preferred setup is to install mise and run this from the top-level project directory:
mise installMise will install and select the same Node and .NET versions used by this repo. If you are not using mise, install Node 24.13.0 and .NET SDK 10.0.301 with your preferred version managers.
If you want Angular CLI installed globally, run npm i -g @angular/cli@20.3.30. This version is compatible with Angular 20, which is used by the MiCOURT UI apps.
No Azure Personal Access Token is required for local development. This base project uses public npm packages only, and the repo .npmrc points to https://registry.npmjs.org/.
Install the locked dependency set from the top-level project directory:
just restoreThe root package.json is a private npm workspace orchestrator. The UI package lives at apps/ui/package.json; use just ui-install or npm install --workspace apps/ui only when you intentionally want to update UI dependencies in package-lock.json.
Build both projects:
just buildRun UI tests and API unit tests:
just testStart the UI and open it in a browser:
just openRun the API locally from the root:
just api-runOn macOS, start the local SQL Server container before running the API:
cd apps/api
just db-up
just runSee apps/api/README.md for API database, deployment, migration, and local configuration details.
just restore # restore UI npm packages and API NuGet packages/tools
just build # build UI and API
just test # run UI tests and API unit tests
just format # run UI ESLint auto-fix and API dotnet format
just clean # clean UI and API generated output
just ui-build # build only the UI
just ui-test # test only the UI
just ui-format # run UI ESLint auto-fix
just api-build # build only the API
just api-format # run dotnet format for the API solution
just api-unit-tests # run API unit tests only
just api-test # run the API test suite, including acceptance tests
just api-acceptance-tests # run API acceptance tests only