Skip to content

Commit ebd557f

Browse files
committed
docs: Add contributing guide and update README for setup and architecture details
1 parent 611caa8 commit ebd557f

File tree

3 files changed

+96
-40
lines changed

3 files changed

+96
-40
lines changed

CONTRIBUTING.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# 開発ガイド
2+
3+
## セットアップ
4+
5+
### Docker Compose (推奨)
6+
7+
```bash
8+
# 起動
9+
docker compose up --build
10+
11+
# アクセス
12+
# - フロントエンド: http://localhost:3000
13+
# - バックエンド API: http://localhost:8000
14+
```
15+
16+
### ローカル開発
17+
18+
```bash
19+
# フロントエンド
20+
cd client
21+
bun install
22+
bun dev
23+
24+
# バックエンド
25+
cd backend
26+
pip install -r requirements.txt
27+
make dev
28+
```
29+
30+
## テスト
31+
32+
```bash
33+
# フロントエンド
34+
cd client
35+
bun run test # lint + typecheck + vitest
36+
bun run e2e # Playwright E2E テスト
37+
38+
# バックエンド
39+
cd backend
40+
make test # pytest + lint + typecheck
41+
```
42+
43+
## デプロイ
44+
45+
```bash
46+
# AWS へデプロイ (要: direnv allow)
47+
./scripts/deploy.sh all # backend + frontend
48+
./scripts/deploy.sh backend # backend のみ
49+
./scripts/deploy.sh frontend # frontend のみ
50+
```

README.md

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@
66

77
ブラウザ上でギターエフェクターを並べ替え、音声ファイルにエフェクトを適用できるデモアプリです。
88

9-
## アーキテクチャ
9+
## エフェクト一覧
1010

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 |
1916

2017
## 技術スタック
2118

@@ -43,37 +40,46 @@
4340
### 保守
4441
- **Renovate** - 依存関係の自動更新
4542

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+
![AWS Architecture](infra/architecture.png)
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+
## プロジェクト構成
5873

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 関数としてもデプロイ可能
7282

73-
## エフェクト一覧
83+
## セットアップ
7484

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) を参照してください。

infra/architecture.png

142 KB
Loading

0 commit comments

Comments
 (0)