Skip to content

nozomi-koborinai/flutter-gakkai-07

Repository files navigation

第 7 回 FlutterGakkai セッション用デモアプリ

【セッションタイトル】

  • Flutter × Firebase Genkit で加速する生成 AI アプリ開発

【登壇資料 (Presentation Slides)】

デモアプリ概要: AI キャラクタージェネレーター

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/      # ユースケース層
└── ...

🛠️ CI/CD

フロントエンド (Flutter)

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[デプロイスキップ]
Loading

バックエンド (Firebase Genkit)

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[デプロイスキップ]
Loading

🗒️ 参考

About

第 7 回 FlutterGakkai 登壇用デモアプリ

Resources

Stars

Watchers

Forks