リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: PlantDiary - 植物育成日記&診断アプリ
植物ごとの成長フォトログ機能の追加
## 1. 目的
ユーザーが植物の成長過程を写真で記録・振り返れるようにすることで、日記アプリとしての情緒的な価値を高め、継続利用を促進する。LocalStorage + Base64エンコードで完結させ、サーバーレス設計を維持する。
## 2. 具体的な仕様
### 2-1. 写真登録
- 既存の「ケア記録ワンタップ」ボタン群の下に「📷 写真を追加」ボタンを追加。
- タップすると `<input type="file" accept="image/*" capture="environment">` を発火し、カメラ撮影またはギャラリー選択を可能にする。
- 選択した画像はJS側でCanvas APIを用いて **長辺800px以内にリサイズ** したうえでBase64文字列に変換。
- LocalStorageのキー構造: `plantdiary_photos_{plantId}` に配列形式で格納。各要素は `{ id, date, base64, memo }` を持つ。
- 1植物あたりの保存上限は **30枚** とし、超過時は「保存上限に達しました。古い写真を削除してください。」とアラート表示。
### 2-2. フォトギャラリー表示
- 既存の「成長記録タイムライン」タブ内に、テキスト記録と時系列で混在表示する。写真カードはサムネイル(横幅100%、object-fit:cover、高さ180px)+撮影日+メモ(任意入力、最大50文字)で構成。
- ギャラリー専用の「📷 フォト」サブタブを同タイムラインページ内に設け、写真のみを2カラムグリッドで一覧表示する切り替えも可能にする。
- サムネイルタップでモーダル拡大表示(全画面オーバーレイ)し、左右スワイプで前後の写真に移動できる(Vanilla JS + touchstartイベントで実装)。
### 2-3. 写真削除
- モーダル拡大表示の右上に「🗑 削除」ボタンを配置。
- 確認ダイアログ(`confirm()`)後、LocalStorageから該当エントリを削除し、表示を即時更新。
### 2-4. ストレージ使用量の簡易表示
- 設定または植物詳細ページに「写真ストレージ使用量: ○MB / 推奨上限5MB」をテキスト表示する。`JSON.stringify(localStorage).length / 1024 / 1024` で概算算出。
## 3. 既存機能との整合
- LocalStorageのキー名を `plantdiary_photos_{plantId}` と独立させ、既存の `plantdiary_records_*` や `plantdiary_plants` キーとは干渉しない。
- タイムラインの既存テキスト記録(水やり・施肥・植え替え・メモ)の表示ロジックは変更せず、写真カードを追加描画するのみ。
- 写真機能を使わないユーザーは従来と全く同じ画面・操作を維持できる。
- スマホ最適化済みの下部タブナビ・カードUIのCSSクラス命名規則に準拠し、既存スタイルを流用してデザイン統一を図る。
ユーザーが植物の成長過程を写真で記録・振り返れるようにすることで、日記アプリとしての情緒的な価値を高め、継続利用を促進する。LocalStorage + Base64エンコードで完結させ、サーバーレス設計を維持する。
## 2. 具体的な仕様
### 2-1. 写真登録
- 既存の「ケア記録ワンタップ」ボタン群の下に「📷 写真を追加」ボタンを追加。
- タップすると `<input type="file" accept="image/*" capture="environment">` を発火し、カメラ撮影またはギャラリー選択を可能にする。
- 選択した画像はJS側でCanvas APIを用いて **長辺800px以内にリサイズ** したうえでBase64文字列に変換。
- LocalStorageのキー構造: `plantdiary_photos_{plantId}` に配列形式で格納。各要素は `{ id, date, base64, memo }` を持つ。
- 1植物あたりの保存上限は **30枚** とし、超過時は「保存上限に達しました。古い写真を削除してください。」とアラート表示。
### 2-2. フォトギャラリー表示
- 既存の「成長記録タイムライン」タブ内に、テキスト記録と時系列で混在表示する。写真カードはサムネイル(横幅100%、object-fit:cover、高さ180px)+撮影日+メモ(任意入力、最大50文字)で構成。
- ギャラリー専用の「📷 フォト」サブタブを同タイムラインページ内に設け、写真のみを2カラムグリッドで一覧表示する切り替えも可能にする。
- サムネイルタップでモーダル拡大表示(全画面オーバーレイ)し、左右スワイプで前後の写真に移動できる(Vanilla JS + touchstartイベントで実装)。
### 2-3. 写真削除
- モーダル拡大表示の右上に「🗑 削除」ボタンを配置。
- 確認ダイアログ(`confirm()`)後、LocalStorageから該当エントリを削除し、表示を即時更新。
### 2-4. ストレージ使用量の簡易表示
- 設定または植物詳細ページに「写真ストレージ使用量: ○MB / 推奨上限5MB」をテキスト表示する。`JSON.stringify(localStorage).length / 1024 / 1024` で概算算出。
## 3. 既存機能との整合
- LocalStorageのキー名を `plantdiary_photos_{plantId}` と独立させ、既存の `plantdiary_records_*` や `plantdiary_plants` キーとは干渉しない。
- タイムラインの既存テキスト記録(水やり・施肥・植え替え・メモ)の表示ロジックは変更せず、写真カードを追加描画するのみ。
- 写真機能を使わないユーザーは従来と全く同じ画面・操作を維持できる。
- スマホ最適化済みの下部タブナビ・カードUIのCSSクラス命名規則に準拠し、既存スタイルを流用してデザイン統一を図る。
💬 返信 (3)
🛠 開発を開始しました (機能追加 plantdiary)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「PlantDiary - 植物育成日記&診断アプリ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=plantdiary
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/plantdiary/
ご利用ありがとうございます!
ご要望いただいた「PlantDiary - 植物育成日記&診断アプリ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=plantdiary
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/plantdiary/
ご利用ありがとうございます!
Echo
Iris