🗺️ サイトマップ
📍 1. Phase 1 ルート一覧
ルートグループ (auth) は未認証、(app) は認証済み(architecture.md §4 のガードが効く)。
flowchart TD
Root["🌐 /"]:::app
Sign["🔓 (auth)"]:::authGrp
App["🔐 (app)"]:::appGrp
Sign --> SI["/sign-in"]:::auth
Sign --> SU["/sign-up"]:::auth
App --> Home["/
(ホーム)"]:::app App --> BeansIdx["/beans"]:::app App --> BrewsIdx["/brews"]:::app BeansIdx --> BeanNew["/beans/new"]:::app BeansIdx --> BeanDetail["/beans/[id]"]:::app BeanDetail --> BeanEdit["/beans/[id]/edit"]:::app BrewsIdx --> BrewNew["/brews/new
(タイマー)"]:::app BrewsIdx --> BrewDetail["/brews/[id]"]:::app BrewDetail --> BrewEdit["/brews/[id]/edit"]:::app classDef authGrp fill:#fff3e6,stroke:#c47a14,stroke-width:2px,color:#1a2533 classDef appGrp fill:#e8f3ec,stroke:#2f7a4a,stroke-width:2px,color:#1a2533 classDef auth fill:#fffaf0,stroke:#c47a14,color:#1a2533 classDef app fill:#eef3f8,stroke:#6b9bc7,color:#1a2533
(ホーム)"]:::app App --> BeansIdx["/beans"]:::app App --> BrewsIdx["/brews"]:::app BeansIdx --> BeanNew["/beans/new"]:::app BeansIdx --> BeanDetail["/beans/[id]"]:::app BeanDetail --> BeanEdit["/beans/[id]/edit"]:::app BrewsIdx --> BrewNew["/brews/new
(タイマー)"]:::app BrewsIdx --> BrewDetail["/brews/[id]"]:::app BrewDetail --> BrewEdit["/brews/[id]/edit"]:::app classDef authGrp fill:#fff3e6,stroke:#c47a14,stroke-width:2px,color:#1a2533 classDef appGrp fill:#e8f3ec,stroke:#2f7a4a,stroke-width:2px,color:#1a2533 classDef auth fill:#fffaf0,stroke:#c47a14,color:#1a2533 classDef app fill:#eef3f8,stroke:#6b9bc7,color:#1a2533
| URL | route group | 内容 |
|---|---|---|
/sign-in | (auth) | Email + Password サインインフォーム |
/sign-up | (auth) | Email + Password サインアップフォーム |
/ | (app) | ホーム / ダッシュボード(直近の brew 数件 + 「抽出を記録する」CTA) |
/beans | (app) | 豆一覧(archived トグル、created_at DESC、ページングなし) |
/beans/new | (app) | 豆の新規追加フォーム |
/beans/[id] | (app) | 豆詳細 + その豆の brew 履歴(★順 / 日時順) |
/beans/[id]/edit | (app) | 豆編集フォーム |
/brews | (app) | 抽出記録一覧(★ / 日付範囲 / Bean 絞り込み + offset ページング) |
/brews/new | (app) | 抽出記録の新規作成(タイマー画面、requirements.md §2.2 コアフロー) |
/brews/[id] | (app) | 抽出詳細(パラメータ + pour timeline + テイスティング) |
/brews/[id]/edit | (app) | 抽出編集フォーム |
🧭 2. ナビゲーション規約
- ヘッダ常設リンク: ホーム / 豆 / 抽出(
/,/beans,/brews) - 豆詳細
/beans/[id]から「この豆で記録する」 →/brews/new?beanId={cuid2}(Bean を pre-select) - 抽出詳細
/brews/[id]から「同じ豆で記録する」 → 同じく/brews/new?beanId={cuid2} /brews/new単体でも入れる(Bean はフォーム内で選択、?beanId=クエリがあれば pre-select)
🔌 3. システムルート
| URL | 内容 |
|---|---|
/api/auth/[...all] | better-auth ハンドラ。レート制限 (architecture.md §4) の対象 |
🆕 4. Phase 2 追加候補(暫定)
/account— アカウント設定(プロフィール、パスワード変更)-
/verify-email,/forgot-password,/reset-passwordbetter-auth + Resend (requirements.md §2.3)
/export— データエクスポート(CSV / JSON)/beans/[id]/stats— 豆ごとの統計(★平均、抽出回数、ベスト抽出)- マスタ管理 UI(architecture.md §5)