Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
{
"extends": [
"next/core-web-vitals",
"plugin:@typescript-eslint/recommended",
"prettier"
],
"extends": ["next/core-web-vitals", "plugin:@typescript-eslint/recommended", "prettier"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2021,
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

# testing
/coverage
/test-results/
/playwright-report/
/playwright/.cache/

# next.js
/.next/
Expand Down
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,24 @@
### 主要コンポーネントクラス

#### カード

- `card-mobile`: 基本カード(elevation-2)
- `card-elevated`: 強調カード(elevation-4)

#### ボタン

- `btn-primary`: 青(主要アクション)
- `btn-success`: 緑(開始/成功)
- `btn-danger`: 赤(終了/削除)
- `btn-warning`: オレンジ(一時停止/注意)
- `btn-secondary`: アウトライン型(副次的)

#### フォーム

- `input-touch`: 48px最小高、2pxボーダー、フォーカス時にシャドウ

#### ユーティリティ

- `elevation-1` ~ `elevation-6`: シャドウレベル
- `haptic-light/medium/heavy`: タッチフィードバック

Expand Down
20 changes: 17 additions & 3 deletions PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@

**プロジェクト名**: Tag Support - リアル鬼ごっこサポートアプリ
**開始日**: 2025-08-06
**現在のバージョン**: v0.1.0-alpha
**現在のバージョン**: v0.1.0-alpha

## 完了済み機能 ✅

### Phase 1: 基礎実装 (完了)

- [x] **プロジェクト初期セットアップ**
- Next.js 15 + TypeScript + Tailwind CSS
- ESLint無効、Turbopack有効
Expand Down Expand Up @@ -47,7 +48,7 @@
- チームメイト位置表示
- ミッション表示エリア
- 位置追跡状況表示
- **鬼画面** (`/chaser`)
- **鬼画面** (`/chaser`)
- 200m範囲レーダー
- 近距離逃走者表示
- 捕獲ボタン機能
Expand All @@ -65,23 +66,27 @@
## 技術的成果

### アーキテクチャ

- **フロントエンド**: React Server Components + Client Components適切な分離
- **状態管理**: React Context + Custom Hooks パターン
- **データベース**: Firestore リアルタイムリスナー活用
- **地図**: Dynamic Import による SSR対応

### パフォーマンス

- Leafletマーカー画像の事前配置
- 地図コンポーネントの動的読み込み
- Firebase接続の最適化
- CI/CDビルドプロセスの最適化(外部依存削減) ⭐️ NEW

### 設計原則

- Atomic Design準拠のコンポーネント設計
- TypeScript厳格型チェック
- 仕様書要求の拡張性確保

### Phase 2: 統合・UI改善 (完了) ⭐️ NEW

- [x] **ゲームマスター機能統合**
- ZoneManager(エリア管理)をゲームマスターページに統合
- セーフゾーン・立禁エリアの作成・削除機能
Expand All @@ -100,6 +105,7 @@
- ステータス変更・役職変更UIの改善

### Phase 3: ビルド環境改善・型安全性向上 (完了)

- [x] **CIビルドエラーの解決**
- Google Fontsの外部依存を削除しシステムフォントに変更
- Tailwind CSSクラスの修正(duration-250 → duration-300)
Expand All @@ -121,6 +127,7 @@
- 環境変数テストの改善

### Phase 4: 位置履歴・リプレイ・統計機能 (完了) ⭐️ NEW

- [x] **位置履歴記録システム**
- useLocationHistoryカスタムフック実装
- プレイヤーの位置、速度、方向を時系列で記録
Expand Down Expand Up @@ -149,11 +156,13 @@
## 現在の制限事項

### 未実装機能

- [ ] Push通知システム
- [ ] マルチゲームマスター対応
- [ ] データベーススキーマの作成(location_historyテーブル等)

### 技術的制約

- Firebase設定が必要(.env.local)
- 位置情報許可が必須
- オンライン環境での動作前提
Expand Down Expand Up @@ -195,6 +204,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
## テスト状況

### 自動テスト環境 ✅

- [x] **ユニットテスト (Vitest)** - 70/70テスト成功(100%) ⭐️ 更新
- lib/supabase.ts: 4/4テスト成功(環境変数フォールバック対応)
- hooks/useLocation.ts: 8/8テスト成功
Expand All @@ -219,6 +229,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
- カバレッジレポート、トラブルシューティング追加

### 動作確認済み

- [x] ローカル開発環境起動
- [x] ビルドプロセス(npm run build成功)
- [x] 全テストスイート実行(70/70成功) ⭐️ 更新
Expand All @@ -229,6 +240,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
- [ ] 役職別画面遷移

### 未テスト

- [ ] 複数端末での同期
- [ ] モバイル実機テスト
- [ ] PWAインストール
Expand All @@ -237,6 +249,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
## 次回セッションでの予定

### 優先度: 高

1. **Supabaseデータベーススキーマ作成**
- location_historyテーブルの作成
- インデックス設定(user_id, game_id, timestamp)
Expand All @@ -251,6 +264,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
- 実環境での動作確認

### 優先度: 中

4. **モバイル実機テスト**
- iOS/Android実機でのテスト
- PWAインストールテスト
Expand All @@ -261,4 +275,4 @@ tag-support/ (25ファイル作成) ⭐️ 更新
6. **パフォーマンス最適化**
- バンドルサイズ削減
- 地図描画の最適化
- リプレイデータの効率的な読み込み
- リプレイデータの効率的な読み込み
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
## 機能概要

### 🏃‍♂️ プレイヤー向け機能

- **逃走者(Runner)**: チームメイト位置の表示、ミッション表示
- **鬼(Chaser)**: 近距離レーダー、捕獲機能

### 🎮 運営向け機能

- **ゲームマスター**: 全プレイヤー位置管理、ステータス変更、リアルタイム監視

### 🗺️ 位置情報機能

- リアルタイム位置追跡
- Leaflet.jsによる地図表示
- 調整可能な位置精度・更新間隔
Expand All @@ -28,6 +31,7 @@
## 開発環境セットアップ

### 前提条件

- Node.js 18以上
- npm または yarn

Expand Down Expand Up @@ -86,11 +90,13 @@ tag-support/
## 使用方法

### 1. プレイヤー登録

1. アプリにアクセス
2. ニックネーム・役職・チームを選択
3. 位置情報のアクセス許可

### 2. 各役職での操作

- **逃走者**: チームメイト位置確認、ミッション進行
- **鬼**: 近くの逃走者を捕獲
- **ゲームマスター**: 全体管理、プレイヤーステータス変更
Expand All @@ -104,7 +110,7 @@ tag-support/
✅ 役職別UI(逃走者・鬼・ゲームマスター)
✅ PWA設定・オフライン対応基礎
✅ CI/CD (GitHub Actions)
✅ テスト環境 (Vitest + Playwright)
✅ テスト環境 (Vitest + Playwright)

## 今後の実装予定

Expand Down
Loading