# quiz-daily

일일 퀴즈 관리 작업을 수행하는 명령어

## 설명

퀴즈 데이터베이스를 관리하고 새로운 문제를 추가하며, 데이터 무결성을 검증하는 자동화 스크립트입니다.

## 실행 단계

### 1. 퀴즈 파일 구조 분석
- questions.js 파일의 구조를 파싱
- 배열 형식인지 객체 형식인지 확인
- 카테고리 구조 파악

### 2. 현재 문제 현황 파악
- 전체 문제 개수 집계
- 카테고리별 문제 분포 확인
- 난이도별 분포 확인

### 3. 카테고리별 분석
- 각 카테고리의 문제 수 확인
- 부족한 카테고리 식별
- 난이도 균형 확인

### 4. 중복 검증
- 새로 추가할 문제와 기존 문제 비교
- 질문 텍스트 중복 확인
- ID 중복 방지

### 5. 문제 추가 및 형식 검증
- 새 문제를 올바른 형식으로 추가
- 필수 필드 검증 (question, options, correctAnswer, explanation)
- 정답 인덱스 범위 확인

### 6. 백업 생성
- 변경 전 원본 파일 백업
- 날짜별 백업 파일 생성
- JSON 형식으로 저장

### 7. 실행 결과 보고
- 추가된 문제 수
- 카테고리별 변경 사항
- 검증 결과
- 백업 파일 경로

## 오류 처리

각 단계에서 오류 발생 시:
- 즉시 실행 중단
- 상세한 오류 메시지 출력
- 원본 파일 보존
- 롤백 가능한 상태 유지

## 사용 예시

```bash
node quiz-daily.js
```

## 출력 예시

```
📋 일일 퀴즈 관리 작업 시작
==================================================

1️⃣ 퀴즈 파일 구조 분석 중...
  ✅ 파일 형식: 배열
  ✅ 카테고리 필드 존재
  
2️⃣ 현재 문제 현황 확인...
  📊 전체: 44문제
  📂 카테고리별:
    - 한국사: 14문제
    - 세계지리: 10문제
    - 과학: 10문제
    - 예술과 문화: 10문제

3️⃣ 부족한 카테고리 분석...
  ⚠️ 세계지리: 추가 필요
  ⚠️ 과학: 추가 필요

4️⃣ 중복 검증 중...
  ✅ 중복 없음

5️⃣ 새 문제 추가 중...
  ✅ 한국사: 1문제 추가
  ✅ 세계지리: 1문제 추가
  
6️⃣ 백업 생성 중...
  💾 backup_questions_2025-08-31.json

7️⃣ 실행 결과 보고
  ✨ 작업 완료
  📈 총 2문제 추가
  ✅ 모든 검증 통과
```

## 주의사항

- questions.js 파일 구조가 변경되면 스크립트 수정 필요
- 백업 파일은 수동으로 관리 필요
- 중복 검사는 질문 텍스트 기준