|
| 1 | +# 開発ガイド |
| 2 | + |
| 3 | +このドキュメントは開発者向けの情報をまとめています。 |
| 4 | + |
| 5 | +## セットアップ |
| 6 | + |
| 7 | +### 必要要件 |
| 8 | + |
| 9 | +- Node.js 18以上 |
| 10 | +- npm |
| 11 | + |
| 12 | +### インストール |
| 13 | + |
| 14 | +```bash |
| 15 | +npm install |
| 16 | +``` |
| 17 | + |
| 18 | +### 開発サーバーの起動 |
| 19 | + |
| 20 | +```bash |
| 21 | +npm run dev |
| 22 | +``` |
| 23 | + |
| 24 | +[http://localhost:3000](http://localhost:3000) をブラウザで開いてください。 |
| 25 | + |
| 26 | +## 環境変数 |
| 27 | + |
| 28 | +`.env.development` または `.env.production` で以下を設定します: |
| 29 | + |
| 30 | +| 変数名 | 説明 | |
| 31 | +|--------|------| |
| 32 | +| `NEXT_PUBLIC_API_BASE_URL` | DreamkastのAPIエンドポイント | |
| 33 | +| `NEXT_PUBLIC_EVENT_ABBR` | 静的データ用イベント略称 | |
| 34 | +| `NEXT_PUBLIC_DK_EVENT_ABBR` | Dreamkast用イベント略称 | |
| 35 | +| `NEXT_PUBLIC_TRANS_TIME_PAGE1` | Page1の表示時間(秒) | |
| 36 | +| `NEXT_PUBLIC_TRANS_TIME_PAGE2` | Page2の表示時間(秒) | |
| 37 | +| `NEXT_PUBLIC_TRANS_TIME_PAGE3` | Page3の表示時間(秒) | |
| 38 | +| `NEXT_PUBLIC_DEBUG` | デバッグモード('true' で有効) | |
| 39 | +| `NEXT_PUBLIC_EXCLUDED_TALKS` | 除外するトークID(カンマ区切り) | |
| 40 | + |
| 41 | +## ルーティング構造 |
| 42 | + |
| 43 | +``` |
| 44 | +/ # トップページ(メニュー選択) |
| 45 | +├── /break-dk/menu/[confDay] # Dreamkast版メニュー(Day 0, 1, 2...) |
| 46 | +├── /break-dk/talks/[talkId] # Dreamkast版インターミッション表示 |
| 47 | +├── /break-dk/obs # Dreamkast版OBS用ページ |
| 48 | +├── /break/menu/[confDay] # 静的データ版メニュー |
| 49 | +├── /break/talks/[talkId] # 静的データ版インターミッション表示 |
| 50 | +└── /break/obs # 静的データ版OBS用ページ |
| 51 | +``` |
| 52 | + |
| 53 | +### データソース |
| 54 | + |
| 55 | +このプロジェクトは2つのデータソースに対応しています: |
| 56 | + |
| 57 | +1. **Dreamkast API連携** (`/break-dk/*`) - CloudNativeDaysのイベント管理システムからリアルタイムでデータ取得 |
| 58 | +2. **静的TSファイル** (`/break/*`) - ローカルのTSファイルからデータ取得 |
| 59 | + |
| 60 | +## API型定義の自動生成 |
| 61 | + |
| 62 | +```bash |
| 63 | +npm run rtk-query-codegen |
| 64 | +``` |
| 65 | + |
| 66 | +## ビルド |
| 67 | + |
| 68 | +```bash |
| 69 | +npm run build # プロダクションビルド |
| 70 | +npm run start # プロダクションサーバー起動 |
| 71 | +``` |
| 72 | + |
| 73 | +## イベントごとのアセット |
| 74 | + |
| 75 | +`public/` ディレクトリ配下にイベントごとのフォルダがあります: |
| 76 | + |
| 77 | +``` |
| 78 | +public/ |
| 79 | +├── cnds2024/ # CloudNativeDays 2024 |
| 80 | +├── cnds2025/ # CloudNativeDays 2025 |
| 81 | +├── o11yconjp2025/ # Observability Conference Japan 2025 |
| 82 | +├── pek2025/ # Platform Engineering Kaigi 2025 |
| 83 | +└── cndw2024/ # CloudNative Days Winter 2024 |
| 84 | +``` |
| 85 | + |
| 86 | +各イベントフォルダには背景画像、BGMなどのアセットを配置します。 |
0 commit comments