Files
iot-dc3/dc3-web
pnokerandClaude Code 8381741d6e fix(web): keep code comments in english for the docs gate
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>
2026-10-13 01:22:06 +08:00
..

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 engines in package.json.
  • Corepack enabled.
  • The pnpm version declared by packageManager in package.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 the APP_ 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 type because verbatimModuleSyntax is enabled.
  • API wrapper names mirror backend cardinality: getXxx for one result and listXxx for collections/pages/maps.
  • Every router-guard branch must settle navigation.

Repository-wide architecture, commit, and verification rules are in ../AGENTS.md.