フロントエンド URL 仕様書
ステータス: Draft 作成日: 2026-05-31 Vike route parameter naming: camelCase(例:
@folderId,@projectKey,@taskId)
1. 識別子の対応
バックエンド API の UUID ベースパスをフロントエンドでは人間可読な識別子に置き換える。
タスクの
KEY-N形式はGET /tasks/{id}API が UUID と両対応しているため、フロントエンドからそのまま渡せる(seq_id+project.keyで構成)。
2. URL 一覧
認証(テナント外)
テナントスコープ
プロジェクトスコープ
{key} はプロジェクトキー(例: ENG)、{KEY-N} はタスク連番(例: ENG-42)。
管理者(is_admin = true のユーザーのみ)
3. Vike ページディレクトリ構造
plaintext
apps/frontend/src/pages/
├── +Layout.vue # ルートレイアウト(認証チェック)
├── index/+Page.vue # / → /{tenant} へリダイレクト or ランディング
├── signin/+Page.vue # /signin
├── signup/+Page.vue # /signup
├── forgot-password/+Page.vue # /forgot-password
├── reset-password/+Page.vue # /reset-password
│
├── @tenant/
│ ├── +Page.vue # /{tenant}
│ ├── +Layout.vue # テナントレイアウト(共通サイドバー)
│ ├── settings/+Page.vue # /{tenant}/settings
│ ├── members/+Page.vue # /{tenant}/members
│ ├── drive/
│ │ ├── +Page.vue # /{tenant}/drive
│ │ └── @folderId/+Page.vue # /{tenant}/drive/{folder_id}(Vike: camelCase)
│ └── projects/
│ ├── +Page.vue # /{tenant}/projects
│ └── @projectKey/
│ ├── +Page.vue # /{tenant}/projects/{key}(カンバン)
│ ├── +Layout.vue # プロジェクトレイアウト(プロジェクトナビ)
│ ├── tasks/
│ │ ├── +Page.vue # /{tenant}/projects/{key}/tasks
│ │ └── @taskId/+Page.vue # /{tenant}/projects/{key}/tasks/{KEY-N}(Vike: camelCase)
│ ├── milestones/+Page.vue # /{tenant}/projects/{key}/milestones
│ ├── labels/+Page.vue # /{tenant}/projects/{key}/labels
│ ├── members/+Page.vue # /{tenant}/projects/{key}/members
│ └── settings/+Page.vue # /{tenant}/projects/{key}/settings
│
└── admin/
├── +Page.vue # /admin
├── users/+Page.vue # /admin/users
├── tenants/+Page.vue # /admin/tenants
└── audit-logs/+Page.vue # /admin/audit-logs
4. 設計判断
5. URL ↔ Vike ページファイル 対応表
レビュー時チェックリスト: 新しい URL を追加・変更する際は、この表を同時に更新すること。 URL パターンとページファイルパスが常に 1:1 対応していることを PR レビューで確認する。
すべてのパスは
apps/frontend/src/pages/配下の相対パス。
6. 移行メモ
現在存在する仮ページ(/labels、/tasks)はこの仕様のプロジェクトスコープパスへ移行する。