ponshu-room-lite/START_HERE_FINAL.md

398 lines
11 KiB
Markdown
Raw Normal View History

# 🚀 ぽんるーむ Lite - 完全スタートガイド
**プロジェクト名**: ぽんるーむ Lite (Ponshu Room Lite)
**バージョン**: 2.0 - "My Digital Sake Cellar with Personality"
**作成日**: 2025-12-29
**このフォルダの状態**: 完全にクリーン(設計書のみ)
---
## 💡 「Lite」の意味
**「Lite」= 機能制限ではなく、「洗練されたコア体験」**
- ✅ 写真を主役にした雑誌のようなUI
- ✅ 完全ローカル保存(プライバシー最優先)
- ✅ MBTI・四柱推命と日本酒を掛け合わせた「あなただけの診断」
- ✅ フォント切り替え機能(明朝体 ⇔ ゴシック体)
**将来の「Pro」版**:
- Synology NAS連携
- 高度な統計分析
- チーム共有機能
---
## 🎯 このアプリの3つの魂
### 🍶 1. 「瞬撮」- 魔法の解析体験
カメラを向けて撮るだけで、Gemini 3.0がリアルタイム実況しながら解析。
```
「ラベルを読んでいます...」
「お、これは山口県の銘柄ですね...」
「データを整理しています...」
```
### 🎨 2. 「美録」- インスタ映えする情報の見せ方
雑誌のようなレイアウト、選べるフォント、Instagram用正方形画像生成。
### 🧩 3. 「遊び心」- あなただけのパーソナライズ
- **MBTI × 日本酒相性診断**: 「このお酒はENFPのあなたにピッタリ
- **四柱推命 × 今日の一滴**: 「今日の運気を上げる辛口な一本」
- **フレーバー・マトリックス**: あなたの好みを可視化
---
## ✅ このフォルダの状況
```
現在のフォルダ: C:\Users\maita\posimai-project\ponshu_room_lite
含まれるもの:
✅ FINAL_REQUIREMENTS.md最終仕様書
✅ ANTIGRAVITY_PROMPT.md実装手順書
✅ UI_UX_DECISION_GUIDE.mdデザイン決定ガイド
✅ START_HERE_FINAL.mdこのファイル
含まれないもの:
❌ 古いWeb版のコード完全に除外
❌ lib/ フォルダ
❌ pubspec.yaml
❌ 何のコードもありません
```
**これは意図的です。完全にゼロから始めます。**
---
## 🎯 Antigravity向け - 最終完全プロンプト
以下をAntigravityに送ってください
---
```
@Antigravity
ぽんるーむ Lite をゼロから実装します。
このフォルダponshu_room_liteは完全にクリーンです。
📂 現在のフォルダ:
C:\Users\maita\posimai-project\ponshu_room_lite
📄 読み込むべきドキュメント:
1. START_HERE_FINAL.md最初に読む
2. ANTIGRAVITY_PROMPT.mdメイン実装手順
3. FINAL_REQUIREMENTS.md完全仕様書
🔑 新しいAPIキー:
AIzaSyA2BSr16R2k0bHjSYcSUdmLoY8PKwaFts0
🎨 デザイン方針Lite版の魂:
【写真最大化】
- 余白は最小限padding: 8dp, separator: 4dp
- 写真サイズ: 120x120
- フル幅カード
- 極細ボーダー0.5px)で区切り
【フォント戦略】
- デフォルト: Noto Sans JP親しみやすいゴシック体
- 設定で切り替え可能: Noto Serif JP高級感のある明朝体
- ユーザーが好みで選べるようにする
【パーソナライズ機能の準備】
- UserProfileモデルを作成:
- MBTI診断結果16タイプ
- 生年月日(四柱推命用)
- 好みのフォント設定
- これらは Phase 2以降で使用今は枠だけ準備
⚠️ 絶対にやってはいけないこと:
❌ ../ponshu-room/ フォルダを参照しない
❌ 古いコードをコピーしない
❌ Web版のUIを踏襲しない
✅ やるべきことPhase 1:
【1-1. プロジェクト初期化】
1. このフォルダで flutter create . を実行
2. pubspec.yaml を設定google_fonts, hive, riverpod, etc.
3. Android設定compileSdk: 36, targetSdk: 35
【1-2. データモデル】
1. SakeItem モデル:
- 基本情報銘柄名、酒蔵、都道府県、etc.
- キャッチコピーGeminiが自動生成
- フレーバースコアsweetnessScore, bodyScore
2. UserProfile モデル(🆕):
- mbtiType: String? // 例: "ENFP"
- birthDate: DateTime? // 四柱推命用
- fontPreference: String // "serif" or "sans"
- createdAt: DateTime
【1-3. テーマ設定】
1. AppTheme を作成:
- posimaiカラー#376495
- 動的フォント切り替え対応
- デフォルトは Noto Sans JP
2. FontProviderRiverpodを作成:
- UserProfileからフォント設定を読み込み
- アプリ全体でリアクティブに切り替え
【1-4. Gemini AI解析】
1. GeminiService:
- モデル: gemini-2.5-flash-latest
- リアルタイム実況機能
- キャッチコピー自動生成
【1-5. UI実装】
1. ホーム画面4タブ:
- 酒リスト(フル幅カード)
- マップ
- AIソムリエ
- プロフィール
2. フル幅カード:
- 左: 写真120x120
- 右: 銘柄名(選択したフォント)、データ
3. プロフィール画面:
- フォント切り替えスイッチ
- MBTI入力欄今は空でOK
- 生年月日入力欄今は空でOK
【1-6. SafeArea対応】
- すべての画面でSafeAreaを徹底使用
- Android 15で見切れ・重なりゼロ
🚀 開始:
ANTIGRAVITY_PROMPT.md の「プロジェクト作成」セクションから開始してください。
Phase 1-1プロジェクト初期化完了後に報告をお願いします。
💡 重要な追加仕様:
【フォント切り替えの実装】
設定画面に以下を追加:
```dart
// 設定画面の一部
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('フォント設定'),
SegmentedButton(
segments: [
ButtonSegment(value: 'sans', label: Text('ゴシック')),
ButtonSegment(value: 'serif', label: Text('明朝')),
],
selected: {currentFont},
onSelectionChanged: (Set<String> newSelection) {
// UserProfileを更新
// AppThemeを再構築
},
),
],
)
```
【UserProfileモデルの完全コード】
```dart
// lib/models/user_profile.dart
import 'package:hive/hive.dart';
part 'user_profile.g.dart';
@HiveType(typeId: 1)
class UserProfile extends HiveObject {
@HiveField(0)
String? mbtiType; // "ENFP", "INTJ", etc.
@HiveField(1)
DateTime? birthDate; // 四柱推命用
@HiveField(2)
String fontPreference; // "serif" or "sans"
@HiveField(3)
DateTime createdAt;
@HiveField(4)
DateTime? updatedAt;
UserProfile({
this.mbtiType,
this.birthDate,
this.fontPreference = 'sans', // デフォルトはゴシック
required this.createdAt,
this.updatedAt,
});
}
```
【Phase 2以降の予告】
- MBTI × 日本酒相性診断
- 四柱推命 × 今日の一滴
- フレーバー・マトリックス
- Instagram用画像生成診断結果入り
これらは Phase 1完了後に実装します。
今は UserProfile の枠だけ準備してください。
```
---
## 📋 実装の流れ
### Phase 0: 準備(今ここ)
- [x] 新しいフォルダ作成ponshu_room_lite
- [x] 設計書をコピー
- [ ] Antigravityに指示を送る
### Phase 1: MVP5-6時間
- [ ] プロジェクト初期化
- [ ] データモデルSakeItem + UserProfile
- [ ] フォント切り替え機能
- [ ] Gemini解析リアルタイム実況
- [ ] フル幅カード
- [ ] SafeArea対応
### Phase 2: パーソナライズ3-4時間
- [ ] MBTI入力UI
- [ ] MBTI × 日本酒相性診断
- [ ] 四柱推命 × 今日の一滴
- [ ] フレーバー・マトリックス
### Phase 3: 共有機能2時間
- [ ] Instagram用画像生成診断結果入り
- [ ] キャッチコピー付き共有
### Phase 4: 遊び心3時間
- [ ] 日本酒・制覇マップ
- [ ] AIソムリエチャット
**合計: 13-15時間**
---
## 🎨 フォント選択のガイド
### デフォルト: Noto Sans JPゴシック体
```
印象: 親しみやすい、読みやすい、診断コンテンツと相性◎
おすすめな人: MBTIや診断を楽しみたい、カジュアルに記録したい
```
### オプション: Noto Serif JP明朝体
```
印象: 高級感、伝統、雑誌のような洗練
おすすめな人: 日本酒の本格的な雰囲気を大切にしたい
```
**いつでも切り替え可能!設定画面からワンタップ。**
---
## 🔐 APIキーの設定
Antigravityが `lib/secrets.dart` を作成した後、以下が正しく設定されているか確認してください:
```dart
// lib/secrets.dart
class Secrets {
static const String geminiApiKey = 'AIzaSyA2BSr16R2k0bHjSYcSUdmLoY8PKwaFts0';
}
```
---
## ✅ 完成確認チェックリスト
### Phase 1 MVP完成の確認
- [ ] カメラで日本酒を撮影できる
- [ ] Gemini解析で「ラベルを読んでいます...」と表示される
- [ ] キャッチコピーが自動生成される
- [ ] フル幅カード写真120x120で表示される
- [ ] フォント切り替えが動作する(ゴシック ⇔ 明朝)
- [ ] Android 15で見切れない
- [ ] UserProfileが保存される
### Phase 2 パーソナライズ完成の確認
- [ ] MBTI診断結果を入力できる
- [ ] 「このお酒はあなたENFPにピッタリ」と表示される
- [ ] フレーバー・マトリックスが表示される
### 最終完成の確認
- [ ] すべての機能が動作
- [ ] 「雑誌のような」デザイン
- [ ] 60fpsの滑らかな動作
- [ ] 「魔法のような」心地よさ
- [ ] 知人に見せたくなる
---
## 📞 トラブルシューティング
### もしAntigravityが古いコードを参照しようとしたら
**即座に指摘してください**:
```
@Antigravity
古い ponshu-room フォルダは参照しないでください。
このフォルダponshu_room_lite内のドキュメントだけを見てください。
```
### もし余白が大きすぎたら
```
@Antigravity
余白が大きすぎます。以下に修正してください:
- ListView.padding: EdgeInsets.symmetric(horizontal: 8, vertical: 12)
- separatorBuilder: SizedBox(height: 4)
- 写真サイズ: 120x120
```
### もしフォント切り替えが動作しなかったら
```
@Antigravity
フォント切り替えが動作しません。
UserProfileのfontPreferenceを変更したら、AppThemeが再構築されるようにしてください。
Riverpodのproviderを使って、リアクティブに更新してください。
```
---
## 🎊 準備完了!
すべての準備が整いました。
**次のアクション**:
1. 上記の「Antigravityへの指示」をコピー
2. Antigravityに送信
3. 実装開始を待つ
**「ぽんるーむ Lite」の誕生を楽しみにしています🍶✨**
---
## 💡 将来の拡張Pro版へ
Phase 1-4が完了し、知人にも好評だったら
### ぽんるーむ Pro構想
- Synology NAS自動バックアップ
- 複数デバイス同期
- チーム共有機能
- 高度な統計分析
- カスタムテーマ
- エクスポート機能強化
**まずは Lite を完璧に仕上げましょう!**