The card wall change quoted the Chinese auto-size label inside code comments; check_documentation.py rejects non-English comments and the web CI quality gate failed on it. Quote the English label in those examples instead. The bilingual button matcher in the responsive e2e spec is functional code (it matches either locale) and stays. Co-Authored-By: Claude Code <noreply@anthropic.com>
DC3 Web
dc3-web is the Vue and TypeScript management frontend for IoT DC3. It communicates with the backend exclusively
through dc3-gateway.
Prerequisites
- Node.js 22 or newer, as declared by
enginesinpackage.json. - Corepack enabled.
- The pnpm version declared by
packageManagerinpackage.json.
corepack enable
pnpm install
Use pnpm only. Do not generate npm or Yarn lockfiles. When changing the package-manager version, keep package.json and
the Dockerfile toolchain pin aligned.
Develop
pnpm dev
The development server uses the port and API proxy configured by vite.config.ts and src/config/env/. Its defaults
are http://localhost:8080 for the UI and http://localhost:8000 for the gateway. The UI can start without the
backend, but login and data requests require a running gateway and center services.
Build and verify
pnpm check
pnpm lint:check
pnpm test:guard
pnpm test:ci
pnpm build
Run focused suites with pnpm test:unit, pnpm test:api, pnpm test:component, or pnpm test:views. Browser
workflows use pnpm test:e2e; see tests/README.md for the test layers and fixture policy.
Project conventions
- Vite environment files live under
src/config/env/and use theAPP_prefix. - Java 64-bit IDs are represented as strings. The backend emits identifiers as JSON strings on the HTTP contract, so standard JSON parsing is sufficient.
- Type-only imports must use
import typebecauseverbatimModuleSyntaxis enabled. - API wrapper names mirror backend cardinality:
getXxxfor one result andlistXxxfor collections/pages/maps. - Every router-guard branch must settle navigation.
Repository-wide architecture, commit, and verification rules are in ../AGENTS.md.