これは、撮影または選択した画像を AI で分析する機能を持つ、React Native (Expo) 製のモバイルアプリケーションテンプレートです。
- カメラ撮影:
expo-cameraを利用したリアルタイムカメラ機能 - 画像選択: デバイスのライブラリから画像を選択
- AI による画像分析: Vercel AI SDK を経由して、マルチモーダル AI モデルが画像を分析し、説明を生成します
- React Native / Expo
- TypeScript
- Expo Router
- Vercel AI SDK
- NativeWind (for Tailwind CSS)
- Zod (for validation)
-
リポジトリをクローン:
git clone <repository-url> cd camera-app-template
-
依存関係をインストール:
bun install
-
環境変数を設定:
.env.exampleをコピーして.envファイルを作成し、お使いの AI サービスの API キーを設定してください。OPENAI_API_KEY="sk-..." # ANTHROPIC_API_KEY="sk-..." # GOOGLE_GENERATIVE_AI_API_KEY="..."
# 開発サーバーを起動
bun start
# 起動後、表示されるメニューに従って操作
# 'i' -> iOS シミュレータで開く
# 'a' -> Android エミュレータで開くこのプロジェクトは src ディレクトリベースの構造を採用しています:
src/
├── app/ # Expo Router による画面定義
│ ├── _layout.tsx # ルートレイアウト
│ ├── (tabs)/ # タブナビゲーション
│ └── analyze-image+api.ts # API エンドポイント
├── components/ # 再利用可能なコンポーネント
│ ├── ui/ # UI コンポーネント
│ └── useColorScheme.ts # カラースキーム管理
├── hooks/ # カスタムフック
│ └── useImageAnalysis.ts # 画像分析フック
├── types/ # TypeScript 型定義
│ └── index.ts
├── utils/ # ユーティリティ関数
│ └── aiService.ts # AI サービス連携
└── constants/ # 定数定義
└── Colors.ts
アプリケーションがシミュレータで正常に起動したら、以下の手順で基本的な機能を確認できます:
- 画面下部にあるシャッターボタンをタップ
- 撮影された写真がプレビューとして表示される
- 自動的に AI による分析が開始され、「分析中...」のようなインジケーターが表示される
- AI が生成した画像の説明が画面に表示される
- 画面の隅にあるライブラリアイコンをタップ
- デバイスのフォトライブラリが開き、画像を選択
- 選択された写真がプレビューとして表示される
- 自動的に AI による分析が開始され、結果が表示される
.envファイルがプロジェクトのルートディレクトリに存在することを確認.envファイルの構文が正しいことを確認(引用符の使用など)- アプリを再起動して環境変数の変更を反映
- 使用するAIサービスのダッシュボードでAPIキーが有効であることを確認
- APIキーに適切な権限が設定されていることを確認
- 使用量制限に達していないことを確認