リクエスト詳細
💡 新機能の要望
対応完了
LunchSpin - 今日のランチをルーレットで決める!お昼ごはん迷い解消アプリ
## 1. アプリの目的・ターゲットユーザー
「今日のランチどうする?」という毎日の悩みを楽しく解決するWebアプリ。オフィスワーカー・学生・在宅勤務者・グループでのランチ選びに迷う全員が対象。ルーレットを回すだけでランチを決められる手軽さと、自分だけのお気に入り店リストや条件絞り込みを組み合わせ、毎日使いたくなる仕掛けを提供する。
## 2. 主要機能
- **ランチルーレット**: 登録済みのメニュー・お店リストをぐるぐる回転するルーレットUIで表示し、ボタン1タップで結果を決定。アニメーション付きでテンションが上がる演出。
- **マイランチリスト管理**: 「お弁当」「近くのラーメン屋」「コンビニ」など自分のランチ候補をカテゴリ付きで登録・編集・削除。デフォルトで30件のプリセット候補(和食・洋食・中華・ファスト系など)を収録し、すぐ使える。
- **条件フィルター**: ジャンル(和・洋・中・その他)・予算帯(〜500円 / 〜1000円 / 1000円超)・所要時間(〜10分 / 〜20分 / ゆっくり)の3軸で絞り込んでルーレットを回せる。
- **今日のランチ履歴**: 過去30日分の「結果」をカレンダー+タイムライン形式で表示。同じものが続かないよう「最近食べた」バッジをルーレット上に表示してバランスをサポート。
- **グループモード**: URLパラメータで共有できる「みんなで回す」モード。同じURLを開いたメンバー全員が同じルーレット結果を見られる(セッションIDベース、DB不要・URLのみで完結)。
- **「もう一回」&「これにする!」ボタン**: 決定後に「もう一回」で再スピン、「これにする!」で今日のランチとして記録。連続スキップ3回で「えいっ!と決めよう」メッセージを表示するユーモア演出付き。
## 3. 画面構成
- **トップ/メイン画面**: 中央に大きなルーレット(円形SVGアニメーション)、下部にスピンボタン。右上にフィルターアイコン、左上にメニューアイコン。スマホ全画面で映えるデザイン。
- **フィルターパネル**: モーダル/ドロワー形式。ジャンル・予算・時間のチェックボックスで絞り込み。「リセット」ボタンあり。
- **マイリスト画面**: 登録候補一覧(カード形式)。+ボタンで追加フォーム表示。各カードにカテゴリアイコン・予算・時間を表示。ルーレット対象のON/OFFトグル付き。
- **履歴カレンダー画面**: 月カレンダーに食べたランチ名を小さく表示。タップで詳細(メニュー名・ジャンル・記録日時)。
- **結果モーダル**: スピン停止後に「🎉〇〇に決定!」とメニュー名を大表示。「これにする!」「もう一回」「近くで探す(Google Maps検索リンク)」の3ボタン。
- **グループ共有画面**: URLコピーボタン+QRコード表示。同じルーレットセットを他メンバーと共有できる説明文付き。
## 4. データ構造
- **メインストレージ**: LocalStorageをメインに使用(登録不要で即使えることを最優先)。
- **lunch_items テーブル (MySQL / オプション・共有機能用)**
- id (INT PK AUTO_INCREMENT)
- session_id (VARCHAR 64) ※グループ共有用
- name (VARCHAR 100) ランチ名
- genre (ENUM: 'japanese','western','chinese','other')
- budget (ENUM: 'low','mid','high')
- duration (ENUM: 'quick','normal','slow')
- is_active (TINYINT 1) ルーレット対象フラグ
- created_at (DATETIME)
- **lunch_history テーブル**
- id (INT PK)
- session_id (VARCHAR 64)
- item_name (VARCHAR 100)
- eaten_at (DATE)
- created_at (DATETIME)
- LocalStorage側: `lunchspin_items` (JSON配列) / `lunchspin_history` (JSON配列) の2キーのみ。
## 5. デザインの方向性
- **カラー**: 食欲をそそる暖色系。メインカラーはトマトレッド(#E84040)、アクセントにサンシャインイエロー(#FFC107)、背景はクリーム(#FFF8F0)。
- **フォント**: 丸みのあるポップ系(Noto Sans JP + 見出しはM PLUS Rounded 1c)。
- **ルーレットUI**: SVGで描画した扇形分割の回転アニメーション。セクションごとにパステルカラーを交互に配置し、止まったセクションが中央ポインタで示される。スピン中はBGM風の効果音(Web Audio APIで音符音)。
- **全体感**: 昼休みに気軽に開けるポップでテンポのいいUI。過度に情報を詰め込まず、スマホ片手でも迷わず操作できるシンプルさを最優先。
「今日のランチどうする?」という毎日の悩みを楽しく解決するWebアプリ。オフィスワーカー・学生・在宅勤務者・グループでのランチ選びに迷う全員が対象。ルーレットを回すだけでランチを決められる手軽さと、自分だけのお気に入り店リストや条件絞り込みを組み合わせ、毎日使いたくなる仕掛けを提供する。
## 2. 主要機能
- **ランチルーレット**: 登録済みのメニュー・お店リストをぐるぐる回転するルーレットUIで表示し、ボタン1タップで結果を決定。アニメーション付きでテンションが上がる演出。
- **マイランチリスト管理**: 「お弁当」「近くのラーメン屋」「コンビニ」など自分のランチ候補をカテゴリ付きで登録・編集・削除。デフォルトで30件のプリセット候補(和食・洋食・中華・ファスト系など)を収録し、すぐ使える。
- **条件フィルター**: ジャンル(和・洋・中・その他)・予算帯(〜500円 / 〜1000円 / 1000円超)・所要時間(〜10分 / 〜20分 / ゆっくり)の3軸で絞り込んでルーレットを回せる。
- **今日のランチ履歴**: 過去30日分の「結果」をカレンダー+タイムライン形式で表示。同じものが続かないよう「最近食べた」バッジをルーレット上に表示してバランスをサポート。
- **グループモード**: URLパラメータで共有できる「みんなで回す」モード。同じURLを開いたメンバー全員が同じルーレット結果を見られる(セッションIDベース、DB不要・URLのみで完結)。
- **「もう一回」&「これにする!」ボタン**: 決定後に「もう一回」で再スピン、「これにする!」で今日のランチとして記録。連続スキップ3回で「えいっ!と決めよう」メッセージを表示するユーモア演出付き。
## 3. 画面構成
- **トップ/メイン画面**: 中央に大きなルーレット(円形SVGアニメーション)、下部にスピンボタン。右上にフィルターアイコン、左上にメニューアイコン。スマホ全画面で映えるデザイン。
- **フィルターパネル**: モーダル/ドロワー形式。ジャンル・予算・時間のチェックボックスで絞り込み。「リセット」ボタンあり。
- **マイリスト画面**: 登録候補一覧(カード形式)。+ボタンで追加フォーム表示。各カードにカテゴリアイコン・予算・時間を表示。ルーレット対象のON/OFFトグル付き。
- **履歴カレンダー画面**: 月カレンダーに食べたランチ名を小さく表示。タップで詳細(メニュー名・ジャンル・記録日時)。
- **結果モーダル**: スピン停止後に「🎉〇〇に決定!」とメニュー名を大表示。「これにする!」「もう一回」「近くで探す(Google Maps検索リンク)」の3ボタン。
- **グループ共有画面**: URLコピーボタン+QRコード表示。同じルーレットセットを他メンバーと共有できる説明文付き。
## 4. データ構造
- **メインストレージ**: LocalStorageをメインに使用(登録不要で即使えることを最優先)。
- **lunch_items テーブル (MySQL / オプション・共有機能用)**
- id (INT PK AUTO_INCREMENT)
- session_id (VARCHAR 64) ※グループ共有用
- name (VARCHAR 100) ランチ名
- genre (ENUM: 'japanese','western','chinese','other')
- budget (ENUM: 'low','mid','high')
- duration (ENUM: 'quick','normal','slow')
- is_active (TINYINT 1) ルーレット対象フラグ
- created_at (DATETIME)
- **lunch_history テーブル**
- id (INT PK)
- session_id (VARCHAR 64)
- item_name (VARCHAR 100)
- eaten_at (DATE)
- created_at (DATETIME)
- LocalStorage側: `lunchspin_items` (JSON配列) / `lunchspin_history` (JSON配列) の2キーのみ。
## 5. デザインの方向性
- **カラー**: 食欲をそそる暖色系。メインカラーはトマトレッド(#E84040)、アクセントにサンシャインイエロー(#FFC107)、背景はクリーム(#FFF8F0)。
- **フォント**: 丸みのあるポップ系(Noto Sans JP + 見出しはM PLUS Rounded 1c)。
- **ルーレットUI**: SVGで描画した扇形分割の回転アニメーション。セクションごとにパステルカラーを交互に配置し、止まったセクションが中央ポインタで示される。スピン中はBGM風の効果音(Web Audio APIで音符音)。
- **全体感**: 昼休みに気軽に開けるポップでテンポのいいUI。過度に情報を詰め込まず、スマホ片手でも迷わず操作できるシンプルさを最優先。
💬 返信 (3)
🛠 開発を開始しました
📝 開発が完了しました!
**LunchSpin ランチルーレット v1.0.0** を実装しました。
✅ 実装内容:
- 🎰 SVGアニメーションルーレット (easeOut減速 + Web Audio効果音)
- 📋 30件プリセット収録 (和食・洋食・中華・その他)
- ⚙ 3軸フィルター (ジャンル・予算・所要時間)
- 📅 30日履歴カレンダー (月別表示・タイムライン)
- 👥 グループ共有モード (URLシェア + QRコード)
- 😤 連続3回スキップ演出
- 📱 スマホファースト・レスポンシブデザイン
個人データはlocalStorageに保存されるため登録不要でそのまま使えます。グループ共有機能のみMySQL使用。check_app.phpは20/20 PASSです。
**LunchSpin ランチルーレット v1.0.0** を実装しました。
✅ 実装内容:
- 🎰 SVGアニメーションルーレット (easeOut減速 + Web Audio効果音)
- 📋 30件プリセット収録 (和食・洋食・中華・その他)
- ⚙ 3軸フィルター (ジャンル・予算・所要時間)
- 📅 30日履歴カレンダー (月別表示・タイムライン)
- 👥 グループ共有モード (URLシェア + QRコード)
- 😤 連続3回スキップ演出
- 📱 スマホファースト・レスポンシブデザイン
個人データはlocalStorageに保存されるため登録不要でそのまま使えます。グループ共有機能のみMySQL使用。check_app.phpは20/20 PASSです。
✅ リリース完了のお知らせ
ご要望いただいた「LunchSpin ランチルーレット」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=lunchspin
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/lunchspin/
ご利用ありがとうございます!
ご要望いただいた「LunchSpin ランチルーレット」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=lunchspin
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/lunchspin/
ご利用ありがとうございます!
Iris