リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 旅のしおり自動生成メーカー TravelNote
「持ち物チェックリスト」の個人別割り当て機能の追加
## 1. 目的
グループ旅行では「誰が何を持っていくか」の分担が曖昧になりがちで、重複や漏れが起きる。現行の持ち物チェックリストはしおり全体で共有される1本のリストだが、各アイテムに担当メンバーを割り当て・可視化できるようにすることで、幹事と参加者の調整コストを下げ、しおりの実用価値を高める。
---
## 2. 具体的な仕様
### 2-1. データ構造の追加(MySQL)
- 既存の持ち物アイテムテーブル(またはJSONカラム)に `assigned_to VARCHAR(50) DEFAULT NULL` カラムを追加(マイグレーションはALTER TABLE、既存レコードはNULLで後方互換)。
- `assigned_to` にはメンバー名文字列1件を格納(複数担当は「田中,鈴木」のようにカンマ区切り文字列で保持、最大3名)。
### 2-2. 編集画面(edit.php)の変更
- 持ち物チェックリスト各行の右端に担当者ボタン(丸アイコン)を追加。
- ボタンをタップ/クリックすると、入力ウィザードで登録済みのメンバー名一覧がドロップダウン(またはポップオーバー)で表示される。
- メンバー名をクリックするとトグル選択(最大3名まで)。選択済みはチェックマーク表示。
- 「誰でもOK」選択肢(=NULL)も常に含める。
- 選択後はボタン上に選択メンバーのイニシャル(1~2文字)を色付きバッジで表示。バッジ色はメンバーインデックスで自動割り当て(最大6色の固定パレット)。
- 「アイテム追加」行にも同じ担当者ボタンを設ける。
- 既存の「チェック保存(ブラウザ保存)」と同じタイミングでサーバーへPOSTし、`assigned_to` を保存する(既存の保存ロジックにカラムを追加するだけ)。
### 2-3. しおり表示・印刷レイアウトの変更
- 持ち物チェックリストの各行に担当バッジを表示(編集画面と同じイニシャルバッジ)。
- 担当未設定のアイテムはバッジなしでそのまま表示(既存と同じ見た目)。
- 共有URL(読み取り専用)でも担当バッジを表示する(変更は不可)。
- 印刷時(print.css)はバッジを「(田中)」のようなテキスト括弧表記に切り替えて印刷しても担当者が分かるようにする。
### 2-4. メンバーなし(ソロ旅行)の場合
- 入力ウィザードでメンバーが1名のみの場合、担当者ボタン自体を非表示にし、機能を無効化する(既存のソロ旅行ユーザー体験を損なわない)。
---
## 3. 既存機能との整合(壊さない点)
- `assigned_to` はNULL許容で追加するため、既存のしおりデータは全てNULLとなり表示・動作は現行と同一。
- チェック状態の保存ロジック(ブラウザ保存 + サーバー保存)は変更せず、`assigned_to` の保存を既存POSTパラメータに追記するだけ。
- 共有URLコピー機能でコピーされた新しいしおりには `assigned_to` データも引き継がれる(INSERT時にカラムをコピー対象に含める)。
- PDFダウンロードでは担当バッジをテキスト括弧表記で出力する(印刷CSSと同様の処理をサーバーサイドPDF生成側にも適用)。
- テーマカラーやレスポンシブレイアウトには影響しない。
グループ旅行では「誰が何を持っていくか」の分担が曖昧になりがちで、重複や漏れが起きる。現行の持ち物チェックリストはしおり全体で共有される1本のリストだが、各アイテムに担当メンバーを割り当て・可視化できるようにすることで、幹事と参加者の調整コストを下げ、しおりの実用価値を高める。
---
## 2. 具体的な仕様
### 2-1. データ構造の追加(MySQL)
- 既存の持ち物アイテムテーブル(またはJSONカラム)に `assigned_to VARCHAR(50) DEFAULT NULL` カラムを追加(マイグレーションはALTER TABLE、既存レコードはNULLで後方互換)。
- `assigned_to` にはメンバー名文字列1件を格納(複数担当は「田中,鈴木」のようにカンマ区切り文字列で保持、最大3名)。
### 2-2. 編集画面(edit.php)の変更
- 持ち物チェックリスト各行の右端に担当者ボタン(丸アイコン)を追加。
- ボタンをタップ/クリックすると、入力ウィザードで登録済みのメンバー名一覧がドロップダウン(またはポップオーバー)で表示される。
- メンバー名をクリックするとトグル選択(最大3名まで)。選択済みはチェックマーク表示。
- 「誰でもOK」選択肢(=NULL)も常に含める。
- 選択後はボタン上に選択メンバーのイニシャル(1~2文字)を色付きバッジで表示。バッジ色はメンバーインデックスで自動割り当て(最大6色の固定パレット)。
- 「アイテム追加」行にも同じ担当者ボタンを設ける。
- 既存の「チェック保存(ブラウザ保存)」と同じタイミングでサーバーへPOSTし、`assigned_to` を保存する(既存の保存ロジックにカラムを追加するだけ)。
### 2-3. しおり表示・印刷レイアウトの変更
- 持ち物チェックリストの各行に担当バッジを表示(編集画面と同じイニシャルバッジ)。
- 担当未設定のアイテムはバッジなしでそのまま表示(既存と同じ見た目)。
- 共有URL(読み取り専用)でも担当バッジを表示する(変更は不可)。
- 印刷時(print.css)はバッジを「(田中)」のようなテキスト括弧表記に切り替えて印刷しても担当者が分かるようにする。
### 2-4. メンバーなし(ソロ旅行)の場合
- 入力ウィザードでメンバーが1名のみの場合、担当者ボタン自体を非表示にし、機能を無効化する(既存のソロ旅行ユーザー体験を損なわない)。
---
## 3. 既存機能との整合(壊さない点)
- `assigned_to` はNULL許容で追加するため、既存のしおりデータは全てNULLとなり表示・動作は現行と同一。
- チェック状態の保存ロジック(ブラウザ保存 + サーバー保存)は変更せず、`assigned_to` の保存を既存POSTパラメータに追記するだけ。
- 共有URLコピー機能でコピーされた新しいしおりには `assigned_to` データも引き継がれる(INSERT時にカラムをコピー対象に含める)。
- PDFダウンロードでは担当バッジをテキスト括弧表記で出力する(印刷CSSと同様の処理をサーバーサイドPDF生成側にも適用)。
- テーマカラーやレスポンシブレイアウトには影響しない。
💬 返信 (3)
🛠 開発を開始しました (機能追加 travelnote)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「旅のしおり自動生成メーカー TravelNote」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
ご要望いただいた「旅のしおり自動生成メーカー TravelNote」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
Echo
Iris