2.9 KiB
2.9 KiB
プロジェクト構成定義書 (Project Configuration)
1. プロジェクト基本情報 (Basic Information)
- プロジェクト名: Android 音声操作端末アプリ (Voice-Controlled Android App)
- 対象パス:
/root/.gemini/antigravity-cli/scratch/voice_controlled_device - 開発種別: 新規開発 (New Development)
- 対象デバイス / OS: Android OS 10.0+ (API Level 29 以上推奨)
- ハードウェア設計の有無: なし (市販/標準Android端末の上で動作するソフトウェア開発。内蔵マイク・スピーカー・Bluetoothオーディオ機器等を使用)
- 主なユースケース: ハンズフリーによる音声認識・コマンド入力、対話システム、音声読み上げ (TTS)、端末状態管理
2. 技術スタック (Tech Stack)
- プログラミング言語: Kotlin (v1.9+)
- UIフレームワーク: Jetpack Compose (宣言型UI)
- 音声認識 (Speech Recognition):
SpeechRecognizerAPI / Android Voice Interaction API - 音声合成 (Text-to-Speech):
TextToSpeech(TTS) Engine - 非同期処理・状態管理: Kotlin Coroutines, StateFlow / SharedFlow
- アーキテクチャモデル: Clean Architecture + MVVM (Model-View-ViewModel)
- 依存関係注入 (DI): Hilt / Koin
- データ保持・キャッシュ: Room Database / DataStore Preferences
3. テスト実行方式 & CI/CD (Testing & CI Execution)
- テスト実行方式:
- ローカルテスト (Local Execution):
- 単体テスト: JUnit 5, MockK, Turbine (Flow/Coroutinesテスト)
- UI・結合テスト: Jetpack Compose Test Framework, Robolectric
- CI実行環境 (CI Pipeline):
- Gitea Runner / GitHub Actions によるビルド自動化、静的解析 (ktlint/detekt)、単体テスト実行
- ローカルテスト (Local Execution):
- テストスコープ:
- Domain / Data レイヤーのユニットテスト完全自動化
- SpeechRecognizer / TTS ラッパーインターフェースのモックテスト
4. 推奨ディレクトリ構成 (Directory Structure)
voice_controlled_device/
├── docs/
│ ├── 00_project_config.md # 本構成定義ファイル
│ └── 02_specifications.md # 機能仕様書
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/example/voiceapp/
│ │ │ │ ├── data/ # リポジトリ・ローカルデータソース
│ │ │ │ ├── domain/ # ユースケース・モデル定義
│ │ │ │ ├── ui/ # Jetpack Compose UI / ViewModel
│ │ │ │ └── voice/ # SpeechRecognizer & TTS ラッパーモジュール
│ │ │ └── AndroidManifest.xml
│ │ └── test/ # 単体テストコード
└── build.gradle.kts
5. 次の工程への引継ぎ事項
- 機能仕様書 (
docs/02_specifications.md) の作成に進みます。