40227-vm/frontend/docs/shared-app-types.md
2026-06-12 06:55:35 +02:00

889 B

Shared App Types

Purpose

UI-facing product types live in frontend/src/shared/types/app.ts.

Contents

frontend/src/shared/types/app.ts contains cross-module product types such as:

  • UserRole
  • CampusId
  • CampusInfo
  • StaffProfile
  • ModuleId
  • Module
  • ZoneColor
  • cross-module static catalog item types used by the current UI

Backend DTO contracts remain in dedicated files under frontend/src/shared/types/, for example auth.ts, frame.ts, campusAttendance.ts, policyDocuments.ts, and audioFiles.ts.

Rules

  • New shared UI/product types should go in frontend/src/shared/types/app.ts only when they are genuinely cross-module.
  • Backend request/response DTOs should stay in feature-specific shared type files.
  • Feature-local view model types should stay in the relevant frontend/src/business/<module>/types.ts or component types.ts file.