3.0 KiB
CommonSpecification.md (v1.0)
- プロジェクト概要 アプリ名: ぽんるーむ(Pon-Room)
コンセプト: 日本酒の「記録・解析・循環」を支えるAIアプリ。
ターゲット: - B2C: 一般ユーザー(自分の日本酒体験を記録・診断・共有)
B2B: 飲食店(自店の日本酒メニューをPDF/QR付きで作成・印刷)
- 技術スタック Frontend: Flutter (iOS/Android/Web)
Backend/DB: Cloud Firestore, Firebase Auth
AI/ML: - Local OCR: Google ML Kit (テキスト抽出)
LLM Analysis: Gemini API (2.5 Flash / 3 Flash)
Library: - gal: カメラロール保存用
pdf, printing: PDF生成・印刷用
qr_flutter: QRコード生成用
- 共通データ構造 (JSON Schema) すべてのAI解析およびデータ保存はこの形式に従うこと。
JSON
{ "display_data": { "name": "銘柄名", "catch_phrase": "AI生成のキャッチコピー", "image_path": "local/path/to/image.jpg", "rating": 4.5 }, "hidden_specs": { "brewery": "蔵元名", "prefecture": "都道府県", "type": "特定名称(純米大吟醸等)", "alcohol_content": 16.0, "polishing_ratio": 23, "rice_variety": "使用米", "sake_meter_value": 0.0, "qr_code_url": "https://pon-room.app/sake/12345" }, "badges": { "is_recommended": false, "is_seasonal": false, "season_tag": "春限定" }, "gamification": { "pon_points": 10, "sake_mbti_type": "フルーティー・モダン型" }, "user_data": { "is_favorite": false, "memo": "テイスティングメモ", "created_at": "ISO8601形式" }, "metadata": { "app_type": "sake", "version": "1.0" } } 4. 機能別ガイドライン 4.1 撮影・解析フロー (Hybrid Analysis) 撮影: 写真撮影後、即座に「カメラロール(端末のギャラリー)」へ保存する(galパッケージ使用)。
OCR: Google ML Kitで画像から生テキストを抽出。
AI解析: 抽出テキストのみをGeminiへ送信し、上記JSON形式で構造化データを取得。
注意: 画像を直接AIに送るのではなく、テキストを介することでトークン節約とエラー回避を行う。
4.2 UI構成 (5タブ・切り替え制) タブ1 (リスト): カード形式。display_dataのみを表示し、極力シンプルに保つ。
タブ2 (スキャン/作成): - Consumerモード: QRスキャン(他店メニューの読み取り・ポイント獲得)。
Businessモード: PDFメニュー作成(QRコード自動埋め込み)。
タブ3 (AI/診断): AIソムリエ、酒蔵マップ(将来拡張)。
タブ4 (マップ): 酒蔵巡りマップ(未実装)。
タブ5 (マイページ): - 酒向(しゅこう)カード: MBTI風の自己診断結果、バッジ、獲得ポイントを表示。
設定: 右上の「歯車アイコン」内にモード切り替え、使い方ガイド、システム設定を集約。
4.3 オンボーディング (Onboarding) 初回起動時に4枚のステップガイドを表示。
各画面右上の「?」アイコンでガイドを再表示。
Businessモード切り替え時は専用の3ステップガイドを追加表示。
4.4 B2B/B2C 循環ロジック B2B: PDF出力時に各銘柄の qr_code_url をQRコードとして埋め込む。
B2C: そのQRをスキャンすると、詳細情報が表示され「ポンポイント」が貯まる仕組みを想定。
- 開発優先順位 (Roadmap) Phase 1: CommonSpecification.md に基づくデータモデルの再定義。
Phase 2: カメラロール保存機能の実装(データ消失リスク回避)。
Phase 3: PDF + printing 実装(Antigravity評価用のB2B機能)。
Phase 4: OCR + Gemini API連携の最適化。
Phase 5: マイページ(酒向カード)およびゲーミフィケーション実装。