61 lines
2.9 KiB
Markdown
61 lines
2.9 KiB
Markdown
# プロジェクト構成定義書 (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)**: `SpeechRecognizer` API / 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)、単体テスト実行
|
|
- **テストスコープ**:
|
|
- 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`) の作成に進みます。
|