Skip to content

[Feat] 토닥이 채팅 - feature:chat 모듈 + ChatViewModel #77

Description

@oungsi2000

작업 내용

이 저장소 최초의 Compose+Orbit feature 모듈(feature:chat)을 만들고 채팅 화면의 상태 기계(ChatViewModel)를 구현한다. 핵심은 Flow<String>.typewriter() 연산자 — SSE delta 도착 속도와 화면 표시 속도(한 글자씩)를 분리한다.

상위 이슈: #59
설계 문서: designs/issue-59-F-chat-viewmodel.md (병합 후 이슈 번호에 맞춰 파일명 변경 예정)
선행 이슈: #72 (도메인 모델), #73 (UseCase), #76 (RepositoryImpl+Hilt 바인딩) — 3개 모두 머지된 뒤 시작

할 일

  • settings.gradle.kts / app/build.gradle.ktsfeature:chat 모듈 등록
  • feature/chat/build.gradle.kts + AndroidManifest.xml
  • TypewriterFlow.kt — 도착 속도/표시 속도 분리, catch-up 로직
  • ChatContract.kt — ChatState/ChatPhase/ChatSideEffect
  • ChatViewModel.kt — Start에서 실제 userMessageId/assistantMessageId/quota 반영, Action 이벤트 캡처
  • FakeChatRepository.kt / TypewriterFlowTest.kt / ChatViewModelTest.kt

Metadata

Metadata

Assignees

Labels

feature새로운 기능 추가

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions