gantt dateFormat YYYY-MM-DD axisFormat %m/%d todayMarker stroke-width:2px,stroke:#E0701A,opacity:0.9 section 기획·설계 비전·문제 정의 / 스펙 :done, p1, 2026-04-21, 7d ADR 설계 결정 (5건) :done, p2, 2026-04-25, 6d section 핵심 구현 프로젝트·Firebase 세팅 :done, c1, 2026-04-28, 4d YouTube 쇼츠 피벗·캐싱 :done, c2, 2026-04-29, 3d 온보딩·탐색·프로필·스트릭 :done, c3, 2026-05-07, 12d 인앱 재생·60초 필터 :done, c4, 2026-05-19, 3d section 고도화 라이트 UI 리디자인 :done, e1, 2026-05-21, 2d error 152 돌파·자동재생 :done, e2, 2026-05-26, 1d 큐레이션·토픽 세분화(6카테고리) :done, e3, 2026-05-27, 4d 9·16 풀화면·무한 스크롤·시청기록 :done, e4, 2026-05-31, 6d 로그인·계정 개인화·학습 수준 :done, e5, 2026-06-06, 4d section 마무리·품질 보안 규칙·통합 테스트 :done, f1, 2026-06-08, 3d E2E·GitHub Actions CI :done, f2, 2026-06-11, 2d 릴리스 APK·소개/다운로드 배포 :done, f3, 2026-06-13, 2d 최종 발표 :crit, active, f4, 2026-06-16, 2d
| 작업 | 우선순위 | 상태 | 비고 |
|---|---|---|---|
온보딩 · 토픽 선택 6개 카테고리 26개 세부 토픽 + 학습 수준 |
MUST | ● 완료 | 그룹형 선택 · 결정적 테스트 |
인앱 쇼츠 피드 세로 PageView · IFrame 플레이어 · error 152 돌파 |
MUST | ● 완료 | youtube-nocookie 우회 |
소리 · 스와이프 자동재생 넘기면 다음 영상 자동재생 · 썸네일 우선 · 더블탭 저장 |
MUST | ● 완료 | Z Fold7 실기기 검증 |
콘텐츠 큐레이션 학습 키워드 + 교육 카테고리·조회수 품질 랭킹으로 예능 배제 |
MUST | ● 완료 | 토픽 세분화로 정밀도↑ |
캐시 · 토픽 인지 · 3일 TTL 캐시 우선/없으면 API, 북마크 보존, 재방문 신선도 |
MUST | ● 완료 | Firestore 영구 캐싱 |
탐색 · 프로필 · 학습 스트릭 키워드 검색, 북마크 다시보기, 연속 학습일 |
SHOULD | ● 완료 | injectable clock 테스트 |
로그인 · 계정 개인화 · 학습 수준 Google 로그인, 온보딩 1회, 초/중/고/대학 |
SHOULD | ● 완료 | 계정 기반 시청기록 |
9:16 풀화면 UI · 다크/라이트 테마 풀블리드 세로 영상 + 오버레이 (틱톡식) |
SHOULD | ● 완료 | 실기기 시각 검증 |
무한 스크롤 · 시청 기록 끝에서 다음 묶음 자동 로딩, 본 영상 제외 |
COULD | ● 완료 | pageToken + dedupeAppend |
Firestore 보안 규칙 · 통합 테스트 본인 데이터만 읽기/쓰기, 규칙 통합 테스트 |
MUST | ● 완료 | rules-unit-testing 4건 |
E2E · GitHub Actions CI 헤드리스 풀플로우 + 푸시마다 analyze 0 + 57 테스트 |
SHOULD | ● 완료 | CI 배지 passing |
릴리스 APK · 소개/다운로드 페이지 GitHub Pages 호스팅, README 설치 가이드 |
COULD | ● 완료 | /app 다운로드 |
최종 발표 (덱 · 대본 · 데모) 5분 발표 + 30초 데모, 배점 매핑 리허설 |
MUST | ◐ 진행 | 발표 D-day |