# InfoKeyword Firebase 프로젝트 설정 (자동화)

## 개요
제이회장님이 Firebase Console에서 `infokeyword-j2h` 프로젝트를 생성 완료했고, 서비스 계정에 Owner 권한도 부여 완료.
이제 나머지 설정을 자동화 스크립트로 처리한다.

## 프로젝트 경로
- **InfoKeyword**: `/home/jay/projects/InfoKeyword/`
- **자동화 스크립트**: `/home/jay/workspace/teams/dev2/firebase-setup.py`
- **이전 보고서**: `/home/jay/workspace/memory/reports/task-231.1.md`

## 새 Firebase 프로젝트
- **프로젝트 ID**: `infokeyword-j2h`
- **서비스 계정**: `anu2026@insuwiki-j2h.iam.gserviceaccount.com` (Owner 권한 확인됨)
- **gcloud 토큰**: `gcloud auth print-access-token`으로 획득 가능

## 작업 내용 (순서대로)

### 1. Firebase 서비스 활성화
- Firebase Management API로 프로젝트에 Firebase 추가
- 필요한 API 활성화: Identity Toolkit, Firestore, Firebase Rules

### 2. 웹 앱 등록
- Firebase에 웹 앱 등록하여 config 값(apiKey, authDomain, appId 등) 획득

### 3. Authentication 설정
- Google Sign-In provider 활성화
- Authorized domains에 `localhost`, `100.76.130.39` 추가

### 4. Firestore 설정
- Firestore 데이터베이스 생성 (Native mode, asia-northeast3)
- 보안 규칙 배포 (`/home/jay/projects/InfoKeyword/firestore.rules`)
- 복합 인덱스 생성: `ik_analyses` — userId(ASC) + createdAt(DESC)

### 5. 환경변수 교체
- `/home/jay/projects/InfoKeyword/.env.local` 파일의 NEXT_PUBLIC_FIREBASE_* 값을 새 프로젝트 값으로 교체
- 교체 대상: API_KEY, AUTH_DOMAIN, PROJECT_ID, STORAGE_BUCKET, MESSAGING_SENDER_ID, APP_ID

### 6. InsuWiki Firestore 규칙 정리
- `insuwiki-j2h`에서 ik_ 컬렉션 관련 규칙 제거
- InsuWiki 원래 규칙(`/home/jay/projects/insuwiki/firestore.rules`)만 남기고 재배포

### 7. 빌드 및 검증
- Next.js 리빌드: `cd /home/jay/projects/InfoKeyword && npm run build`
- 테스트: `npm test`
- 서버 재시작 필요 시 안내

## 참고: 이전 task-231.1에서 만든 자동화 스크립트 활용 가능
- `/home/jay/workspace/teams/dev2/firebase-setup.py` — 참고용으로 활용하되, 직접 실행보다는 단계별 API 호출 권장
- REST API 직접 호출이 더 안정적

## 주의사항
- InsuWiki 규칙 재배포는 반드시 InfoKeyword .env 교체 + 빌드 성공 확인 후
- .env.local 파일에 민감 정보 포함 — 커밋 금지

## 완료 조건
1. Authentication Google provider 활성화
2. Firestore 생성 + 보안 규칙 배포
3. 복합 인덱스 생성
4. .env.local 환경변수 교체
5. InsuWiki에서 ik_ 규칙 제거 + 재배포
6. npm run build 성공
7. npm test PASS