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
12 changes: 12 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Supabase Configuration
# Get these values from https://app.supabase.com/ -> Project Settings -> API

# Supabase Project URL
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url

# Supabase Anon/Public Key
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

# Optional: Supabase Service Role Key (for server-side operations only)
# WARNING: Never expose this key to the client side!
# SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
34 changes: 17 additions & 17 deletions PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
- ESLint無効、Turbopack有効
- PWA対応準備

- [x] **Firebase統合**
- Firebase SDK導入 (Auth/Firestore/Functions/FCM)
- [x] **Supabase統合**
- Supabase SDK導入 (Auth/Database/Realtime)
- 環境変数設定 (.env.local)
- 初期化コード作成

Expand All @@ -26,15 +26,15 @@
- 拡張性を考慮した設計

- [x] **認証システム**
- Firebase Anonymous Authentication
- Supabase Anonymous Authentication
- useAuth カスタムフック
- AuthProvider Context
- ニックネーム・役職・チーム登録

- [x] **位置情報システム**
- Geolocation API統合
- useLocation カスタムフック
- Firestore自動同期
- Supabase自動同期
- 調整可能な更新間隔

- [x] **地図システム**
Expand Down Expand Up @@ -69,14 +69,14 @@

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

### パフォーマンス

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

### 設計原則
Expand Down Expand Up @@ -119,7 +119,7 @@
- [x] **開発環境の改善**
- ESLintルールの調整(error → warn)により開発ワークフロー改善
- Supabase環境変数のフォールバック機能実装
- Firebase初期化の型安全性向上
- Supabase初期化の型安全性向上

- [x] **テスト品質の維持**
- 全61テストの成功維持
Expand Down Expand Up @@ -157,13 +157,14 @@

### 未実装機能

- [ ] Push通知システム
- [ ] マルチゲームマスター対応
- [ ] データベーススキーマの作成(location_historyテーブル等)
- [ ] Push通知システム(Web Push API統合)
- [ ] マルチゲームマスター対応(複数GM同時運営)
- [ ] データベーススキーマの実環境デプロイ(location_historyテーブル等)
- [ ] 特殊役職システム(データモデルは準備済み)

### 技術的制約

- Firebase設定が必要(.env.local)
- Supabase設定が必要(.env.local)
- 位置情報許可が必須
- オンライン環境での動作前提

Expand All @@ -172,7 +173,6 @@
```
tag-support/ (25ファイル作成) ⭐️ 更新
├── lib/
│ ├── firebase.ts # Firebase設定
│ └── supabase.ts # Supabase設定
├── types/index.ts # 型定義
├── hooks/
Expand Down Expand Up @@ -208,14 +208,14 @@ tag-support/ (25ファイル作成) ⭐️ 更新
- [x] **ユニットテスト (Vitest)** - 70/70テスト成功(100%) ⭐️ 更新
- lib/supabase.ts: 4/4テスト成功(環境変数フォールバック対応)
- hooks/useLocation.ts: 8/8テスト成功
- hooks/useAuth.tsx: 9/9テスト成功 (Supabaseベースに修正)
- hooks/useGame.tsx: 10/10テスト成功 (Supabaseベースに修正)
- hooks/useMissions.tsx: 13/13テスト成功 (Supabaseベースに修正)
- hooks/useAuth.tsx: 9/9テスト成功 (Supabaseベース)
- hooks/useGame.tsx: 10/10テスト成功 (Supabaseベース)
- hooks/useMissions.tsx: 13/13テスト成功 (Supabaseベース)
- hooks/useCapture.tsx: 8/8テスト成功
- hooks/useZones.tsx: 9/9テスト成功(フィールド名修正対応)
- hooks/useLocationHistory.tsx: 9/9テスト成功 ⭐️ NEW
- [x] **テスト品質向上** ⭐️ NEW
- Firebase → Supabase への完全移行完了
- Supabase統合完了
- 全テストがSupabaseのモックを使用
- テストカバレッジ維持(高品質コード保証)
- [x] **E2Eテスト (Playwright)**
Expand All @@ -233,7 +233,7 @@ tag-support/ (25ファイル作成) ⭐️ 更新
- [x] ローカル開発環境起動
- [x] ビルドプロセス(npm run build成功)
- [x] 全テストスイート実行(70/70成功) ⭐️ 更新
- [ ] Firebase接続テスト
- [ ] Supabase接続テスト(実環境)
- [ ] 認証フロー
- [ ] 位置情報取得
- [ ] 地図表示
Expand Down
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ cd tag-support
npm install

# 環境変数の設定
cp .env.local.example .env.local
# .env.localにFirebaseの設定を記入
cp .env.example .env.local
# .env.localにSupabaseの設定を記入

# 開発サーバーの起動
npm run dev
Expand Down Expand Up @@ -108,17 +108,21 @@ tag-support/
✅ 位置情報トラッキング
✅ Leaflet.js地図表示
✅ 役職別UI(逃走者・鬼・ゲームマスター)
✅ ミッションシステム(作成・削除・完了)
✅ セーフゾーン・立禁エリア管理
✅ ゲーム状態管理(開始・停止・設定変更)
✅ 位置履歴記録・リプレイ機能
✅ ゲーム統計・分析機能
✅ PWA設定・オフライン対応基礎
✅ CI/CD (GitHub Actions)
✅ テスト環境 (Vitest + Playwright)

## 今後の実装予定

- [ ] Push通知機能
- [ ] ミッションシステム
- [ ] セーフゾーン・立禁エリア
- [ ] ゲーム状態管理
- [ ] リプレイ機能
- [ ] Push通知機能(Web Push API)
- [ ] マルチゲームマスター対応
- [ ] データベーススキーマの実環境デプロイ
- [ ] 特殊役職システム

## 開発コマンド

Expand Down
18 changes: 9 additions & 9 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

**最終目標**: 大学生10名規模での2-3km範囲リアル鬼ごっこ運営支援PWA

**MVP目標日**: 未定(Firebase設定次第)
**MVP目標日**: 未定(Supabase設定次第)
**β版目標日**: 未定

## Phase 1: 基礎実装 ✅ (完了)
Expand All @@ -14,7 +14,7 @@

### 完了した機能

- Next.js + Firebase基盤構築
- Next.js + Supabase基盤構築
- 認証・位置情報・地図システム
- 役職別UI(逃走者・鬼・GM)
- PWA基礎設定
Expand All @@ -32,11 +32,11 @@
**想定期間**: 1-2セッション
**目標**: 実際にテストプレイ可能な状態

### 2.1 Firebase実環境構築
### 2.1 Supabase実環境構築

- [ ] Firebaseプロジェクト作成・設定
- [ ] Supabaseプロジェクト作成・設定
- [ ] Authentication有効化
- [ ] Firestore設定・セキュリティルール
- [ ] Database設定・Row Level Security (RLS)
- [ ] 実環境での動作確認

### 2.2 モバイル対応最適化
Expand All @@ -62,7 +62,7 @@

### 3.1 Push通知システム

- [ ] Firebase Cloud Messaging設定
- [ ] Web Push API設定
- [ ] 通知許可フロー
- [ ] 役職別通知ロジック
- ゲーム開始/終了通知
Expand Down Expand Up @@ -190,7 +190,7 @@

### セキュリティ

- [ ] Firestore セキュリティルール強化
- [ ] Supabase Row Level Security (RLS) 強化
- [ ] 位置情報保護対策
- [ ] 個人情報取扱改善

Expand All @@ -210,7 +210,7 @@

### 技術リスク

- **Firebase制限**: 無料枠・API制限対策
- **Supabase制限**: 無料枠・API制限対策
- **位置精度**: GPS精度の天候・環境依存
- **バッテリー**: 長時間使用での電池消耗

Expand All @@ -228,7 +228,7 @@

## 次回セッション重点項目

1. **Firebase実環境構築** (最高優先)
1. **Supabase実環境構築** (最高優先)
2. **モバイル実機テスト**
3. **基本ゲーム機能追加**

Expand Down
Loading
Loading