Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

모바일 앱(안드로이드)

Han Tarot 다음 개발 스텝 정리 (HomeScreen 이후)

Billcorea 2026. 3. 23. 15:28

Han Tarot 다음 개발 스텝 정리 (HomeScreen 이후)

앱의 기본 화면

작성일: 2026-03-23
기준 문서: documents/han_tarot_development_plan.md


0. 현재 기준점

  • 초기/홈 화면 구성(브랜드, Hero 질문, 메뉴 버튼, 상단 앱바 구조) 진행
  • 테마 자원 및 배경 컴포넌트 분리 진행
  • 기본 Navigation 뼈대 구성 진행
  • 타로 프롬프트 기반 Room 초기 적재(리소스 기반) 진행

위 항목은 "홈스크린까지 작업 완료"라는 현재 상태를 기준으로 정리함.


1. 지금부터의 우선순위 (MVP 핵심)

P0 (이번 스프린트에서 반드시 완료)

  • 스프레드 선택 흐름 고정 (1장, 3장)
  • 카드 추출(셔플/중복 없는 랜덤 선택) 완료
  • 리딩 결과 화면에서 선택 카드 + 질문 + 해석 요약 표시
  • 홈 -> 스프레드 -> 드로우 -> 리딩까지 단일 플로우 완성

P1 (P0 직후 연결)

  • 상담 질문 1~2개 입력 화면 연결
  • 세션 결과를 Journal로 저장
  • Journal 목록/상세 조회 연결
  • 상세 화면에서 한글 데이터/카드 이미지/추가 본문 전체 확인 가능하게 구성

P2 (마무리 품질)

  • 세션 종료용 확언/명상 화면 연결
  • 빈 상태/오류 상태 문구 정리
  • 오탈자/번역 톤(자연스러운 한국어) 최종 점검
  • 릴리즈 전 QA 체크리스트 정리

2. 구현 순서 체크리스트 (실행용)

2-1. Navigation/Route 정리

  • 라우트 정의 확정: Home, Spread, Draw, Reading, Counseling, JournalList, JournalDetail, Meditation
  • 각 화면 간 인자 전달 규칙 정의 (예: spreadType, sessionId)
  • 뒤로가기/재진입 시 상태 복원 정책 확정

완료 기준(DoD)

  • 홈에서 시작해 리딩까지 한 번에 이동 가능
  • 시스템 뒤로가기 시 앱 흐름이 깨지지 않음

2-2. Draw/Reading 도메인 상태 고정

  • ViewModel 상태에 spreadType, selectedCardIds, userQuestion 반영
  • 1장/3장 모드별 카드 선택 로직 분리
  • 리딩 화면에 공통 모델(요약/키워드/후속행동) 바인딩

완료 기준(DoD)

  • 1장/3장 결과가 각각 의도대로 표시됨
  • 화면 회전/재구성 시 최소 핵심 상태 유지

2-3. Counseling + Journal 연결

  • 상담형 질문 입력 UI 추가
  • JournalEntity 저장 필드 최종 확정
  • 저장 후 JournalList 갱신 및 상세 이동 연결

완료 기준(DoD)

  • 리딩 결과 -> 상담 입력 -> 저널 저장 -> 목록/상세 조회까지 끊김 없음

2-4. 콘텐츠/리소스 정합성

  • 카드 key와 drawable 리소스 매핑 테이블 점검
  • raw/tarot_app_cards_ko.json + 프롬프트 시드 데이터 중복/충돌 처리 정책 확정
  • 한국어 카드명/설명 톤 통일 (예: 용어 일관성)

완료 기준(DoD)

  • 리스트/상세에서 카드 이미지 누락 없이 표시
  • 상세 내용 전체 텍스트 스크롤 확인 가능

2-5. 품질 보완

  • 홈/리딩/상세 화면 접근성(글자 크기, 대비, 스크린리더 기본 라벨) 점검
  • 빈 데이터 상태 문구 적용
  • 기본 테스트(Repository/Dao/UI 최소 경로) 추가

완료 기준(DoD)

  • 주요 플로우에서 크래시 없이 동작
  • 핵심 저장/조회 경로 테스트 통과

3. 2주 스프린트 실행안 (현실 버전)

Week 1: 핵심 사용자 플로우 고정

  • Navigation 경로/인자 확정
  • Draw + Reading 구현 마무리
  • 카드 선택/해석 상태 모델 안정화
  • 화면별 임시 더미 문구 제거, 실제 데이터 연결

주간 목표

  • "카드 뽑기 -> 리딩 결과 확인"을 안정적으로 재현 가능

Week 2: 상담/저널/마무리 + QA

  • Counseling 입력 흐름 연결
  • Journal 저장/목록/상세 완성
  • Meditation(확언/명상) 종결 화면 연결
  • 텍스트 톤/오류 처리/빈 상태/리소스 매핑 최종 점검

주간 목표

  • "홈 진입 -> 세션 종료 -> 기록 조회"의 1회 세션 전체 완료

4. 바로 시작할 태스크 (오늘 착수용)

  1. Route/인자 표를 먼저 확정한다.
  2. Draw/Reading의 ViewModel 상태 필드를 고정한다.
  3. 리딩 결과 화면의 최소 표시 스펙(카드/요약/다음 액션 버튼)을 잠근다.
  4. Journal 저장 스키마와 DAO 쿼리를 먼저 고정한다.

5. 리스크 및 대응

  • 리스크: 리소스 파일명/카드 키 불일치로 이미지 누락 발생
    대응: 카드 key 기준 단일 매핑 규칙 표준화
  • 리스크: 화면 수 증가로 상태 전달 복잡도 상승
    대응: 세션 단위 UiState 단일 소스로 통합
  • 리스크: 번역 톤 불일치로 UX 몰입 저하
    대응: 용어집(카드명/설명 톤) 1회 고정 후 일괄 적용

6. 이번 단계 완료 선언 조건

아래 4가지가 충족되면 "Home 이후 MVP 핵심 연결 완료"로 본다.

  • 홈에서 1장/3장 선택 후 카드 추출 및 리딩 확인 가능
  • 리딩에서 상담 입력으로 이동 가능
  • 세션 저장 후 Journal 목록/상세 조회 가능
  • 상세 화면에서 한글 데이터 + 카드 이미지 + 전체 본문 확인 가능
반응형