# 요구사항 대조표 — RFP/모집공고 ↔ 데모 구현

✅ 데모에서 시연 가능 · 🔧 실제 개발 시 네이티브 연동 (데모는 UI/UX 선반영) · 💡 RFP에 없는 추가 제안

## 2-1. 화면 및 공통 기능

| 요구사항 | 상태 | 데모 위치 |
|---|---|---|
| 24개 화면 UI (온보딩5·홈미션6·레시피3·피드1·건강2·랭킹2·설정5) | ✅ 전부 구현 | app.html — "24개 화면 인덱스"로 확인 |
| 상태 관리·공통 컴포넌트 | ✅ 라우터·카드·링게이지·토글 등 공통화 | assets/js/app.js |
| RESTful API 연동·데이터 바인딩 | 🔧 데모는 localStorage 상태로 시뮬레이션 | 전 화면 |

## 2-2. 인증·가족 그룹

| 요구사항 | 상태 | 데모 위치 |
|---|---|---|
| 카카오 소셜 로그인 | 🔧 UI 구현 | 온보딩 O2 |
| PASS 본인인증 | 🔧 UI 구현 (CI/DI·보안 스토리지 메모 포함) | 온보딩 O3 |
| 가족 그룹 생성·초대코드·카톡 공유·코드 합류 | ✅ 코드 입력 UI·공유 시트 시뮬레이션 | 온보딩 O4 · 설정 S2 |
| 💡 Sign in with Apple 병행 | 💡 추가 제안 (심사 4.8) | 온보딩 O2 |

## 2-3. 건강 데이터·SDK

| 요구사항 | 상태 | 데모 위치 |
|---|---|---|
| HealthKit / Health Connect 걸음 수 | 🔧 링 게이지·가족 비교·동기화 상태 UI | 건강 G1 |
| 에이슬립 수면 SDK (시간·단계·주간) | 🔧 점수·단계 바·주간 차트 — 에이슬립 리포트 스키마 반영 | 건강 G2 |
| 카메라·앨범 인증 사진 등록 | ✅ 셔터 → 미리보기 → 제출 플로우 | 홈·미션 H3 |

## 2-4. 미션·리워드

| 요구사항 | 상태 | 데모 위치 |
|---|---|---|
| 가족 전원 달성 판정 | ✅ 3인 판정 링·실시간 갱신 | H1 · H4 |
| 재료 획득 로직 화면 처리 | ✅ 획득 연출 + 5칸 트랙 | H5 |
| 레시피 잠금/해제 상태 UI | ✅ 도감 잠금 오버레이 → 해제 애니메이션 | R1~R3 |
| 💡 콕 찌르기 넛지 · 스트릭 | 💡 추가 제안 | H4 · H6 |

## 2-5. 푸시·딥링크

| 요구사항 | 상태 | 데모 위치 |
|---|---|---|
| 핑거푸시 토큰 발급·기기 등록 | 🔧 등록 상태·토큰 표시 UI | 설정 S3 |
| 수신·탭 이벤트·딥링크 라우팅 | 🔧 딥링크 스킴 설계 메모(hansang://mission) | 설정 S3 |
| 로그아웃 시 기기 해제 | 🔧 로그아웃 동작에 메모 | 설정 S5 |
| 💡 푸시 어댑터 추상화 (솔루션 변경 대비) | 💡 추가 제안 | S3 메모 |

## 2-6. 마켓 출시·심사

| 요구사항 | 상태 | 비고 |
|---|---|---|
| AAB/APK·IPA 패키징, 양대 스토어 심사·반려 대응 | 🔧 실제 과업 | 💡 계정 삭제(5.1.1(v))·권한 목적 문구·데모 계정 체크리스트 선반영 (S5) |

## 3. 비기능 요구사항

| 요구사항 | 대응 |
|---|---|
| RN 단일 코드베이스 | 납품 시 React Native + TypeScript |
| 공식 플러그인 부재 시 네이티브 브릿지 직접 작성 | 에이슬립·PASS·핑거푸시 브릿지 경험 전제, 1주차 PoC 스파이크 제안 |
| 백그라운드 전환 시 헬스 데이터 누락 방지 | 동기화 신뢰성 설계 메모 (설정 S4) — 기기 교체·보정 정책 포함 💡 |
| 토큰·개인정보 보안 스토리지 | Keychain/Keystore 사용 명시 (온보딩 O3 메모) |
| 건강 데이터 명시적 권한 프롬프트 | 권한 안내 화면 (온보딩 O5) |
