コンテンツにスキップ

ログイン・メンバー/チーム管理・初期設定

ログイン(ログインID方式 / マジックリンク)

  • 対象ロール: admin / normal / driver(共栄の全ユーザー共通)
  • 前提: 管理者から発行済みの「ログインID + 初期パスワード」を受け取っていること。アカウントは招待制で、この画面から自己登録はできない(組織そのものの新規開設のみ「組織を登録」から可能・下記別業務)。

ログイン画面のワイヤーフレーム

図: ログイン画面。①ログインID ②パスワード+表示/非表示トグル ③ログイン ④初回の招待メール・認証コードからパスワード設定(凡例は図内)。

  • 操作手順:
  • サインイン画面(/signin、公開ページ)を開く。カード見出しは「サインイン」、説明に「アカウントは管理者からの招待制です。」と表示される。
  • 「ログインID」欄に発行された ID を入力(プレースホルダ「例: yamada」)。実運用では英数字と . _ -・3文字以上・小文字。
  • 「パスワード」欄に初期パスワード(または再発行後のパスワード)を入力する。欄右端の表示/非表示ボタンで入力内容を確認できる。
  • 「ログイン」ボタンを押す(送信中は「送信中...」表示)。
  • 成功すると自動でロール別ホームへ遷移する(admin/normal=/collector「概要」、driver=/driver「本日」)。
  • 確認/完了条件: ログイン後に自分の役割のダッシュボード(SideNav 左下の役割バッジが「処理業者 - 管理者 / 一般 / ドライバー」)が表示されれば完了。
  • つまずき/注意:
  • ID/パスワード誤りは「ログインIDまたはパスワードが正しくありません。」と赤枠で表示。
  • ログインID方式は内部的に <ログインID>@members.waste-link.local の合成メールへ変換して認証する。ユーザーはメールアドレスを意識しなくてよい。
  • 「メールアドレスでログイン(マジックリンク)」は実メール運用者向けの副次導線。未登録メールでも列挙対策で常に「メールを送信しました。」と表示されるため、届かない場合は登録メールかを管理者に確認する(招待制のため shouldCreateUser:false)。
  • 役割・運転可を管理者に変更してもらった場合、変更は本人の次回ログイン(トークン更新)後に反映される(一度ログアウト→再ログインが必要)。
  • 関連画面: 設定(/settings、ログアウト)、セキュリティ(/settings/security、パスワード変更)

組織の新規登録(初回・管理者アカウント作成)

  • 対象ロール: これから admin になる担当者(未認証者)。既存メンバーの追加ではなく、共栄という組織(テナント)自体を初めて立ち上げるとき。
  • 前提: 運営から届いた招待メール(招待メールアドレス + 6桁の認証コード。有効期限あり)。
  • 操作手順:
  • サインイン画面フッターの「組織を登録」リンク、または直接 /register(新規組織登録)を開く。
  • 「招待メールアドレス」に招待を受け取ったアドレスを入力。
  • 「認証コード (6桁)」に招待メール記載の6桁数字を入力。
  • 「組織名」を入力(例: サンプル運輸株式会社)。
  • 「事業者種別」を選択。選べるのは「処理業者 (収集運搬・処分)」と「排出事業者」の2択(委託先=external_partner はここで選べない。運営スクリプト作成のみ)。共栄は「処理業者」。
  • 「管理者ログインID」(例: admin、英数字と . _ -・3文字以上)、「管理者名」を入力。
  • 「パスワード」「パスワード (確認)」を入力(8文字以上・一致必須)。
  • 「組織を登録する」を押す。
  • 成功トースト「組織を登録しました」が出て、サインイン画面へ自動遷移(登録した管理者ログインIDがプリフィルされる)。
  • 確認/完了条件: サインイン画面に戻り、作成した管理者ログインID + パスワードでログインできれば完了。以後この admin がメンバー発行・工場登録を行う。
  • つまずき/注意: コードは有効期限あり。失敗時は API のメッセージ(または汎用文)が赤枠で表示される。組織の登録は最初の1回のみで、2人目以降の社員はログインするのではなく「メンバー発行」(下記)で追加する。

メンバーの発行(新規アカウント作成)

  • 対象ロール: admin のみ(normal / driver は閲覧のみ)
  • 前提: collector テナントの管理者としてログイン済み。ドライバーを追加する場合は所属工場の割当のため事前に工場登録があると望ましい(会社情報>工場)。
  • 操作手順:
  • 左ナビ「メンバー」(マスタ管理グループ、/collector/members)を開く。
  • 画面右上の「メンバーを発行」ボタンを押す(このボタンは admin のみ表示)。インラインで発行パネル「メンバーを発行」が開く。
  • 「表示名」(必須・例: 山田 太郎)を入力。
  • 「ロール」(必須)を選択。選択肢は「ドライバー」「一般」「管理者」(既定はドライバー)。
  • 「ログインID」(必須・例: yamada_taro。英数字始まり + . _ -・3文字以上。送信時に小文字化される)を入力。
  • 「初期パスワード」(8文字以上)を入力(PasswordField。生成/表示切替あり)。
  • 「メールアドレス (任意)」は必要な場合のみ入力。
  • 「発行」ボタンを押す(発行中は「発行中...」)。
  • 「発行完了」モーダルが開き、「ログインID」と「初期パスワード」が表示される。各欄の「コピー」または左下「まとめてコピー」で控え、本人へ安全に伝達してから「閉じる」を押す。
  • 確認/完了条件: 発行完了モーダルで資格情報を控えて閉じ、メンバー一覧に新しい行(アバター・表示名・役割バッジ・ログインID・登録日)が追加されれば完了。
  • つまずき/注意:
  • 発行完了モーダルは閉じると再表示できない(オーバーレイクリック/Escで閉じない設計)。必ず控えること。控え損ねたら後述「パスワード再発行」でやり直す。
  • フォームの規則(大文字→小文字化、1文字・先頭記号は不可)を満たさないとサーバ 400。エラーは「メンバーの発行に失敗しました」トーストで表示。
  • normal / driver がこの画面を開くと上部に「閲覧のみ」バナーが出て「メンバーを発行」ボタンは非表示。
  • 関連画面: 会社情報>工場(/collector/profile、ドライバーの所属工場割当の前提)

メンバーの役割変更(admin / 一般 / ドライバー)

  • 対象ロール: admin のみ
  • 前提: 対象メンバーが一覧に存在すること。
  • 操作手順:
  • 「メンバー」(/collector/members)で対象メンバーの行を探す(上部の検索「名前・ログインID・役割で検索」で絞り込み可)。
  • その行の「役割」セレクトで「管理者 / 一般 / ドライバー」を選び直す(選択と同時に保存)。
  • 成功トースト「役割を変更しました」(説明: 変更は対象ユーザーの次回ログイン後に反映)が出る。
  • 確認/完了条件: 行の役割バッジが新しい役割に更新される。実効反映は対象ユーザーの再ログイン後。
  • つまずき/注意:
  • 最後の管理者は降格できない。テナント内 admin が1名のとき、その行の役割セレクトは無効化され「最後の管理者は変更できません」と表示(サーバも 409)。別のメンバーを先に admin にしてから降格する。
  • 変更が本人に効かないという相談は、多くが「再ログインしていない」ため。ログアウト→再ログインを案内。
  • 関連画面: なし

運転可(can_drive)の設定

  • 対象ロール: admin のみ操作可(normal / driver は閲覧のみ)
  • 前提: 対象が admin または normal であること(driver は常に運転可のため対象外)。
  • 操作手順:
  • 「メンバー」(/collector/members)で対象メンバー行の「運転」列を見る。
  • admin / normal の行には「運転可」チェックボックスがある。チェックを入れる/外す(操作と同時に保存)。
  • 成功トースト「運転可にしました」/「運転可を解除しました」(次回ログイン後反映)が出る。
  • 確認/完了条件: チェック状態が保存され、対象ユーザーが再ログインすると本人のナビに「本日のルート」(/driver)が出て配車の担当候補に追加される。
  • つまずき/注意:
  • driver 行は常に「常に運転可」と固定表示(トグルは出ない)。
  • admin に運転可を付けても admin 権限(メンバー管理・作成等)は失わない(運転を兼ねるだけ)。
  • 反映は再ログイン後(権威は JWT の app_metadata.can_drive)。
  • 関連画面: 本日のルート/本日(/driver)、配車(/collector/dispatch

所属工場の割当

  • 対象ロール: admin のみ(付与・解除。normal / driver は閲覧のみ)
  • 前提: 工場が1件以上登録されていること(会社情報>工場)。0件だとメンバー画面に amber バナー「工場が未登録です」が出て割当できない。
  • 操作手順(メンバー画面から):
  • 「メンバー」(/collector/members)で対象行の「所属工場」欄の「編集」ボタンを押す。
  • 「所属工場の割当」ダイアログで工場のチェックボックスを付け外し(選択と同時に保存)。
  • 成功トースト「所属工場を更新しました」が出る。「閉じる」で終了。
  • 操作手順(会社情報>工場の編集から・逆方向):
  • 「会社情報」(/collector/profile)>「工場」セクションで対象工場行の「編集」を押す。
  • 編集フォーム下部の「所属メンバー」を展開し、割り当てるメンバーのチェックを付け外し(即保存)。
  • 確認/完了条件: メンバー行の「所属工場」に工場名バッジが表示される。
  • つまずき/注意:
  • ドライバーで所属工場0件のときは amber「工場を設定してください」と表示(配車の紐付けに必要)。
  • 非 admin には「所属工場(管理者のみ変更可)」と表示され編集導線は出ない。
  • 関連画面: 会社情報>工場(/collector/profile

パスワード再発行(管理者が他メンバーのパスワードをリセット)

  • 対象ロール: admin のみ
  • 前提: 対象メンバーが一覧に存在すること。
  • 操作手順:
  • 「メンバー」(/collector/members)で対象行の「パスワード再発行」ボタンを押す。
  • 「〈表示名〉のパスワードを再発行」ダイアログで「新しいパスワード」(8文字以上)を入力し「再発行」を押す。
  • 成功後、モーダルが「パスワードを再発行しました」に変わり、ログインID(あれば)と新パスワードが表示される。「コピー」/「まとめてコピー」で控えて「閉じる」。
  • 確認/完了条件: 新パスワード表示モーダルで控えて閉じれば完了。本人はそのパスワードでログインできる。
  • つまずき/注意: 結果モーダルは離れると再表示不可(オーバーレイ/Escで閉じない)。必ず控える。
  • 関連画面: 本人のセキュリティ設定(/settings/security、本人が任意に変更する場合)

自分のパスワード変更(本人)

  • 対象ロール: admin / normal / driver(本人が誰でも)
  • 前提: ログイン済み。
  • 操作手順:
  • 左ナビ下部「設定」(/settings)→ タブ「セキュリティ」(/settings/security)を開く。
  • 「新しいパスワード」「パスワード(確認)」を入力(8文字以上・一致必須)。
  • 「パスワードを変更」を押す。
  • 成功トースト「パスワードを変更しました」が出る。
  • 確認/完了条件: 成功トースト表示でフォームがクリアされれば完了。
  • つまずき/注意: 既知の Supabase エラーは日本語コピーへ写像される(例: 直近ログインが古い等)。
  • 関連画面: 設定(アカウント)(/settings

メンバーの削除(オフボーディング)

  • 対象ロール: admin のみ
  • 前提: 対象メンバーが一覧に存在すること。
  • 操作手順:
  • 「メンバー」(/collector/members)で対象行の「削除」を押す。
  • 確認ダイアログ「メンバーを削除します」(説明: ログインが無効化され既存セッションは直ちに失効・取り消し不可)で「削除」を押す。
  • 確認/完了条件: 成功トースト「メンバーを削除しました」が出て一覧から消える。対象のログインは即無効化・セッション失効。
  • つまずき/注意: 最後の管理者は削除できない(ボタン無効化+「最後の管理者は削除できません」・サーバも 409)。
  • 関連画面: なし

工場(拠点)の登録・管理【組織初期設定】

  • 対象ロール: 追加(新規作成)は admin のみ。編集・無効化・有効化・削除は admin / normal(=staff)。driver は不可。
  • 前提: collector テナントでログイン済み。工場はメンバーの所属割当・配車の紐付けの土台になるため、初期設定として最初に登録しておく。
  • 操作手順:
  • 「会社情報」(/collector/profile)を開き「工場」セクションへ。
  • 右上「工場を追加」を押す(admin のみ表示)。フォーム「工場を追加」が開く。
  • 「工場名」(必須・例: 東京第一工場)、「コード」(任意・例: FACTORY-001)、「住所」(任意)を入力。
  • 「保存」を押す。成功トースト「工場を追加しました」。
  • 編集は一覧行の「編集」、稼働停止は「無効化」、復活は「有効化」、恒久削除は「削除」(使用中は削除不可)。
  • 確認/完了条件: 工場一覧に行が追加され「状態」バッジが「有効」になれば完了。
  • つまずき/注意:
  • 「工場を追加」ボタン・追加フォームは admin 限定(normal は編集/無効化/削除はできるが新規追加はできない)。
  • 使用中の工場は「削除できませんでした」となる(無効化を使う)。
  • 関連画面: メンバー(/collector/members、所属工場割当)、会社情報の他セクション(許可証・対応エリア・車両・料金体系)

設定(アカウント確認・ログアウト)

  • 対象ロール: admin / normal / driver(全ロール共通・RoleGuard なし)
  • 前提: ログイン済み。
  • 操作手順:
  • 左ナビ下部「設定」(/settings)を開く。タブは「アカウント / 通知 / セキュリティ / 課金」。
  • 「アカウント」タブで表示名・ログインID(またはメール)・種別を確認(テナントIDは admin のみ表示)。
  • 「セッション」カードの「ログアウト」ボタンでサインアウト。
  • 確認/完了条件: 情報が正しく表示され、ログアウトでサインイン画面へ戻れば完了。
  • つまずき/注意:
  • 「課金」タブは ⚠️ 現在準備中(status: 'soon' で非活性。ルート実体はあるが UI から到達不可)。
  • 「通知」設定(/settings/notifications)は ⚠️ 現在準備中(「準備中」バッジ・全トグル非活性。メール送信サービス接続後に有効化)。設定値は localStorage に保存されるが実際の通知は飛ばない。
  • 関連画面: セキュリティ(/settings/security、パスワード変更)