|
6 | 6 |
|
7 | 7 | ブラウザ上でギターエフェクターを並べ替え、音声ファイルにエフェクトを適用できるデモアプリです。 |
8 | 8 |
|
9 | | -## アーキテクチャ |
| 9 | +## エフェクト一覧 |
10 | 10 |
|
11 | | -- **client/** - React + TypeScript + Vite |
12 | | - - エフェクターボードの UI |
13 | | - - ドラッグ&ドロップでエフェクトの並び替え |
14 | | - - 波形表示 (wavesurfer.js) |
15 | | -- **backend/** - FastAPI + Python |
16 | | - - REST API エンドポイント |
17 | | - - 音声処理 (Spotify Pedalboard ライブラリ) |
18 | | - - Lambda 関数としてもデプロイ可能 |
| 11 | +| カテゴリ | エフェクト | |
| 12 | +|----------|------------| |
| 13 | +| 歪み系 | Booster, Blues Driver, OverDrive, Distortion, Fuzz, Metal Zone, Heavy Metal | |
| 14 | +| モジュレーション系 | Chorus, Dimension, Vibrato | |
| 15 | +| 空間系 | Delay | |
19 | 16 |
|
20 | 17 | ## 技術スタック |
21 | 18 |
|
|
43 | 40 | ### 保守 |
44 | 41 | - **Renovate** - 依存関係の自動更新 |
45 | 42 |
|
46 | | -## セットアップ |
47 | | - |
48 | | -### Docker Compose (推奨) |
49 | | - |
50 | | -```bash |
51 | | -# 起動 |
52 | | -docker compose up --build |
53 | | - |
54 | | -# アクセス |
55 | | -# - フロントエンド: http://localhost:3000 |
56 | | -# - バックエンド API: http://localhost:8000 |
57 | | -``` |
| 43 | +## AWS アーキテクチャ |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +- **CloudFront** - 統一エントリーポイント |
| 48 | + - `/*` → S3 (Frontend) へルーティング |
| 49 | + - `/api/*` → API Gateway へルーティング |
| 50 | +- **S3 (Frontend)** - 静的ファイルホスティング |
| 51 | + - OAC (Origin Access Control) で CloudFront からのみアクセス可能 |
| 52 | +- **API Gateway (HTTP API)** - REST API エンドポイント |
| 53 | + - Lambda へのプロキシ統合 |
| 54 | +- **Lambda (arm64)** - バックエンド処理 |
| 55 | + - ECR コンテナイメージ |
| 56 | + - FastAPI アプリケーション |
| 57 | +- **S3 (Audio)** - 音声ファイルストレージ |
| 58 | + - `input/` - アップロードされた入力ファイル |
| 59 | + - `output/` - エフェクト適用後の出力ファイル |
| 60 | + - `output/normalized/` - 波形表示用の正規化ファイル |
| 61 | + - ライフサイクルルール: 7日で自動削除 |
| 62 | +- **ECR** - Lambda 用コンテナレジストリ |
| 63 | +- **CloudWatch Logs** - ログ管理 |
| 64 | + - `/aws/lambda/...` - Lambda ログ |
| 65 | + - `/aws/apigateway/...` - API Gateway ログ |
| 66 | + |
| 67 | +### インフラ管理 |
| 68 | + |
| 69 | +- `infra/` - Terraform による IaC |
| 70 | +- `scripts/deploy.sh` - デプロイスクリプト |
| 71 | + |
| 72 | +## プロジェクト構成 |
58 | 73 |
|
59 | | -### ローカル開発 |
60 | | - |
61 | | -```bash |
62 | | -# フロントエンド |
63 | | -cd client |
64 | | -bun install |
65 | | -bun dev |
66 | | - |
67 | | -# バックエンド |
68 | | -cd backend |
69 | | -pip install -r requirements.txt |
70 | | -make dev |
71 | | -``` |
| 74 | +- **client/** - React + TypeScript + Vite |
| 75 | + - エフェクターボードの UI |
| 76 | + - ドラッグ&ドロップでエフェクトの並び替え |
| 77 | + - 波形表示 (wavesurfer.js) |
| 78 | +- **backend/** - FastAPI + Python |
| 79 | + - REST API エンドポイント |
| 80 | + - 音声処理 (Spotify Pedalboard ライブラリ) |
| 81 | + - Lambda 関数としてもデプロイ可能 |
72 | 82 |
|
73 | | -## エフェクト一覧 |
| 83 | +## セットアップ |
74 | 84 |
|
75 | | -| カテゴリ | エフェクト | |
76 | | -|----------|------------| |
77 | | -| 歪み系 | Booster, Blues Driver, OverDrive, Distortion, Fuzz, Metal Zone, Heavy Metal | |
78 | | -| モジュレーション系 | Chorus, Dimension, Vibrato | |
79 | | -| 空間系 | Delay, Reverb | |
| 85 | +[CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。 |
0 commit comments