【セッションタイトル】
- Flutter × Firebase Genkit で加速する生成 AI アプリ開発
【登壇資料 (Presentation Slides)】
Flutter と Cloud Run functions for Firebase (2nd Gen), Genkit を使用して AI キャラクターを生成するサンプルアプリケーションです。
- AI によるキャラクター画像生成 (Imagen3)
- キャラクター設定からの自然な説明文生成 (Gemini)
- Firebase Authentication による API レベルの認証管理
flutter-gakkai-07/
├── .github/ # CI/CD ワークフロー
├── genkit/ # Genkit プロジェクト
│ ├── package.json # 依存関係
│ ├── prompts # Dotprompt によるプロンプト管理
│ └── src/
│ └── index.ts # Genkit 関数本体の実装
├── lib/ # Flutter アプリのソースコード
│ ├── data/ # データ層 (Repository, API Client)
│ │ ├── auth/ # Firebase 認証関連
│ │ ├── env/ # 環境変数管理
│ │ └── genkit/ # Genkit API 通信
│ ├── ui/ # UI 層
│ └── usecase/ # ユースケース層
└── ...
graph TD
A[Pull Request作成/更新] -->|frontend/ の変更| B{変更検出}
B -->|変更あり| C[Flutter CI]
C -->|Flutter analyze| D{Lint エラー}
D -->|エラーなし| E[Web ビルド]
D -->|エラーあり| F[修正]
F --> A
E --> G[Firebase Hosting プレビューデプロイ]
G --> H[PR 承認待ち]
H -->|承認・マージ| I[main ブランチへのプッシュ]
I -->|frontend/ の変更| J{変更検出}
J -->|変更あり| K[Google Cloud 認証]
K --> L[Web ビルド]
L --> M[Firebase Hosting 本番デプロイ]
M --> N[デプロイ完了]
B -->|変更なし| O[CI スキップ]
J -->|変更なし| P[デプロイスキップ]
graph TD
A[Pull Request作成/更新] -->|backend/ の変更| B{変更検出}
B -->|変更あり| C[Functions CI]
C -->|Lint チェック| D{Lint エラー}
D -->|エラーなし| E[PR 承認待ち]
D -->|エラーあり| F[修正]
F --> A
E -->|承認・マージ| G[main ブランチへのプッシュ]
G -->|backend/ の変更| H{変更検出}
H -->|変更あり| I[Google Cloud 認証]
I --> J[Dependencies インストール]
J --> K[Cloud Run functions for Firebase デプロイ]
K --> L[デプロイ完了]
B -->|変更なし| M[CI スキップ]
H -->|変更なし| N[デプロイスキップ]