# 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`, and `documents.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//types.ts` or component `types.ts` file.