# Frontend Route Map Target frontend routes: | Route | Page | Purpose | |---|---|---| | `/` | HomePage | Open recent projects or create demo project | | `/projects` | ProjectsPage | List project workspaces | | `/projects/:projectId` | ProjectWorkspacePage | Workspace overview | | `/projects/:projectId/map` | MapWorkbenchPage | Draw/select areas and inspect layers | | `/projects/:projectId/datasets` | DatasetManagerPage | Upload and manage datasets | | `/projects/:projectId/raster` | RasterLabPage | Inspect raster datasets | | `/projects/:projectId/vector` | VectorLabPage | Inspect vector datasets | | `/projects/:projectId/detection` | DetectionLabPage | Start object detection runs | | `/projects/:projectId/segmentation` | SegmentationLabPage | Start segmentation runs | | `/projects/:projectId/qaqc` | QaQcPage | Validate AI outputs against reference layers | | `/projects/:projectId/exports` | ExportsPage | Download GeoJSON/JSON outputs | | `/settings` | SettingsPage | Source and runtime configuration | ## Layout - Left navigation: persistent product navigation. - Center content: page-specific workspace. - Map pages: map canvas plus right inspection panel. - Analysis pages: configuration panel, run status, result summary, map preview. ## Frontend contracts - All server communication must go through `src/services/apiClient.ts`. - Use typed DTOs in `src/types/api.ts`. - Loading, empty and error states are mandatory. - No page may depend on fake global state when an API exists.