フロントエンドにFlutter、バックエンドにFastAPI、インフラにGoogle Cloudを使用したLLMチャットアプリケーションのプロジェクトです。Firebase AuthenticationとFirestoreを活用し、セキュアで拡張性の高いアーキテクチャを実現しています。
graph TB
A[Flutter Web/Android App] -->|Firebase Auth| B[Cloud Run API]
B -->|Vertex AI API| C[LLM Models]
B -->|Firestore| D[User Data/Chat History]
B -->|Secret Manager| E[API Keys]
- Flutter Webアプリケーション
- Android用ビルド対応
- Firebase Hosting対応
- レスポンシブなチャットUI
- Firebase Authentication統合
- FastAPIベースのRESTful API
- Firebase認証による保護
- チャット履歴管理
- ユーザープロファイル分析
- 振り返り機能
- Terraformによる完全自動化されたデプロイ
- Google Cloud Run
- Firebase設定
- Secret Manager統合
- スケーラブルな設計
-
フロントエンド
- Flutter Web/Android
- Firebase Authentication
- Server-Sent Events (SSE)
-
バックエンド
- FastAPI
- Vertex AI
- Firebase Admin SDK
- Firestore
-
インフラストラクチャ
- Google Cloud Run
- Firebase Hosting
- Terraform
- Secret Manager
- Flutter SDK
- Python 3.11以上
- Terraform
- Google Cloud SDK
- Firebase CLI
- Docker
git clone [repository-url]
cd google_cloud_llm_hackathons
cd backend
cp .env.sample .env
# .envファイルを編集し、必要な環境変数を設定
# Dockerでの実行
docker compose up -d
cd frontend/flutter_web_app
cp .env.sample .env
# .envファイルを編集
# 開発サーバーの起動
cd scripts
./serve_local.sh
cd iac/terraform
cp terraform.tfvars.example terraform.tfvars
# terraform.tfvarsを編集し、必要な変数を設定
terraform init
terraform plan
terraform apply
バックエンドのデプロイはTerraformで自動化されています。
詳細は /iac/README.md
を参照してください。
cd frontend/flutter_web_app/scripts
./build_web.sh # Firebase Hostingへのデプロイ
# または
./build_android.sh # Androidアプリのビルド
詳細なドキュメントは各コンポーネントのREADMEおよび /docs
ディレクトリを参照してください:
このプロジェクトはMITライセンスの下で公開されています。