현재 개발 현황
실제 운영 연결과 검증 증거를 기준으로 구현·제한·외부 게이트를 구분합니다.
상태 요약
| 영역 | 현재 상태 | 근거 |
|---|---|---|
| 이메일 회원가입 | 구현됨 | DB 법률 버전·SHA 검증, 동의 저장, 인증 대기·재발송·복귀 |
| Google 인증 | 구현됨 | 신규·기존·중단 가입을 MSSQL 현재 동의로 판정하고 저장 세션 복구 |
| Apple 인증 | 외부 설정 필요 | 코드 구현, Apple Developer 자격 등록·실계정 검증 잔여 |
| 회원탈퇴 | 구현됨 | 재인증·소셜 연결 해제·Firebase 삭제·DB 비식별화·15분 복구 작업 |
| K0 한글 과정 | 구현됨 | 12단원, 비평가 구조 미리보기, 모음→자음→음절→받침 순서, 서버 필기·문제·진도·캐시 |
| K1-01 | 구현됨 | DB v8 게시 11단계 수업, 화자별 아바타 대화 UI, 단원 코드 라우팅, 공용 Auth·App Check 보호 에셋 |
| K1-02 이후 | 예정 | 교육 검수·게시 전 공개 목록과 추천에서 제외 |
| 문제은행 | 구현됨 | K0 162문항, K1-01 24문항, 서버 출제·노출 회피·동일 세션 문구 중복 방지 |
| 배치평가·복습 | 구현됨 | 서버 평가·추천·복습 세션과 답안·해설 저장 |
| 다국어 UI | 제한 운영 | 16개 선택, 영어·한국어 전체 UI, 14개 일부 영어 fallback |
| 반응형 UI | 구현됨 | 320dp 휴대폰·분할 화면·태블릿·대형 창, fold·hinge·트라이폴드 안전 패널 |
| 교육 콘텐츠 번역 | 구현됨 | K0·K1-01 번역 누락·공백 0, K1-01 제목·목표 16언어 |
| 오프라인 | 제한 운영 | 검증 캐시 열람, 신규 출제·판정·완료는 연결 필요 |
| 음성 | 구현됨 | K0·K1-01 155발화·310파일, 비공개 R2·DB 버전·인증 API·앱 캐시/재생 |
라이브 기준선
- MSSQL
V001V013, 저장 프로시저P001P016 - K0
K0-HANGUL-2026-02: 12단원, 자모 40, 쓰기 모델 40, 어휘 24, 문항 162 - K1-01 문항 24, 4개 family, 세션 6, 최근 3세션 우선 회피
- K1-01 대화 화자 ID·좌우 배치·
YUNA_AVATAR·JIHO_AVATAR역할을 DB v8에서 함께 전달 - 유나·지호 승인 프로필을 256×256 WebP로 최적화해 비공개 R2와 라이브 에셋 버전에 게시
- 배치평가 12문항, K0/K1/K2 3개 band
- K0·K1-01 어휘·문항·선택지 번역 누락·공백 0
- K0·K1-01 음성 155항목·310파일, 필수 누락·길이 이상치·R2 SHA 불일치 0
- 검증 DB 쓰기는 외부 트랜잭션에서 롤백
제품 검증
- Flutter 정적 분석 무오류, 교육용 글리프 마스크 쓰기 회귀 포함 자동 테스트 통과
- API TypeScript strict build, K0 교수 순서 계약 포함 자동 테스트 27개 통과
- Android debug APK와 iOS Simulator 앱 빌드 성공
- Android 실기기 최신 APK 설치·실행과 시스템 한국어 랜딩 확인
- 신규 iOS 설치에서 영어 랜딩, 언어 선택, 로그인·회원가입 분리 확인
- 기존 사용자에서 완료 단원 재추천 제거와 복습 빈 상태 확인
- Firebase Functions
api,recoverAccountDeletions배포 완료 - Firebase 운영 음성 API 배포, 비인증 401·운영 health·R2 전체 재다운로드 검증 완료
- K1-01 최초 진입에서 본문·보호 이미지의 인증 경로를 통합하고, 이미지 장애가 본문 전체를 차단하지 않는 복구 경계를 검증
- 인증·홈·과정·K0·K1·배치평가·복습·프로필에 공용 콘텐츠 최대폭을 적용하고 720dp 이상 내비게이션 레일로 전환
- 1200dp 트라이폴드 힌지 2개를 겹침 없는 3개 안전 패널로 분할하는 자동 테스트 통과
- 인증 부트스트랩 한 번으로 현재 약관 동의·온보딩·진도를 판정하고 미완료 소셜 가입의 학습 진입 우회 차단
- MSSQL
BIT의true/false와1/0표현을 모두 안전하게 복원하고, 학습계획 완료 계정의 앱 재시작 2회에서 홈 직접 진입 확인 - iOS Simulator App Check debug token 등록과 중단된 Google 가입의 약관·가입 완료 복구 화면 확인
- 인증 토큰 캐시의 자기 Future 순환 대기 제거와 회귀 방지 테스트 적용
- 레슨 하단 액션바가 화면 전체 높이를 점유해 본문을 0dp로 만드는 결함을 제거하고 320×640·420×912 회귀 테스트 적용
- iPhone Air iOS 26.5에서 홈 K0 상시 진입, K0 라이브 12단원, K1-01 프리뷰·상황 이미지·단계 전환 확인
- iPhone Air iOS 26.5 통합 테스트에서 K0-01~K0-12 전 단원의 본문·음성·학습상태 API와 화면 진입을 순회하고, K0-02 마스킹 따라쓰기 및 서버 쓰기 시도 생성까지 통과
- 라이브 DB에서 K0-01 활동 5개·평가 없음, K0-02 TRACE·COPY, K0-04 서버 문제 6개·완료를 롤백 종단 검증
- K0-02~K0-12 각각의 첫 활동과 과정·복습·프로필 진입을 실제 화면에서 확인
BIGINT문자열 파싱, 쓰기 모델 테이블 참조, 체크포인트/제출 경합과 문제 세션 중복 문구를 수정하고 라이브 DB 검증- K1-01 대화는 전체 듣기 뒤 하단
다음 문장으로 진행하며, 210~300dp 안정 폭 말풍선에 화자 아바타·이름·발화·문장별 정상/느린 재생을 표시
공개 UI 원칙
앱 화면에는 request ID, 내부 오류 코드, target code, evidence count, rule version, 검수자·검수 상태, 개발 중·목업·임시 문구를 표시하지 않는다. 아직 사용할 수 없는 기능은 실제 동작처럼 꾸미지 않고 숨기거나 사용자에게 필요한 비활성 사유만 제공한다.
남은 외부 게이트
- Apple Developer 자격과 Firebase Apple provider 등록
- Android Play upload keystore, Play Integrity, iOS App Attest
- 법률 문서 최종 승인과 전체 지원 언어 전문 번역
- 영어·한국어 외 14개 앱 UI fallback 제거
- 310개 전체 한국어 발음·억양 사람 청취표와 실제 서명 기기 오디오 확인
- 노출 이력이 있는 R2 API/S3 자격증명 폐기·재발급과 Firebase Secret 교체
- 실제 스토어 서명 iOS·Android 종단 검증
교육 발화는 Gemini 고정 파일만 사용하며 기기 TTS로 대체하지 않는다.
