Skip to content

Comments

Feature/userdata repository#96

Merged
jlkim909 merged 6 commits intodevelopfrom
feature/userdata-repository
Jul 24, 2025
Merged

Feature/userdata repository#96
jlkim909 merged 6 commits intodevelopfrom
feature/userdata-repository

Conversation

@jlkim909
Copy link
Member

PULL REQUEST

Home 화면에서 사용자 닉네임을 표시하기 위해 UserDataRepository를 정의하고, 구현 및 연결하는 작업입니다.

Description

UserDataRepository 정의 및 구현

  • UserDataRepository 인터페이스 정의
    • userData: Flow<UserData>
    • setEmail(email: String)
    • setNickname(nickname: String)
    • setProfileImage(profileImage: UserProfileImage)
  • UserDataStore 기반의 OfflineFirstUserDataRepository 구현
  • DataModule에 DI 바인딩 추가

Home 화면과 연결

  • HomeViewModel에서 UserDataRepository를 주입받아 userNickname 상태로 변환
  • StateFlow 기반으로 닉네임 상태를 UI에 제공
  • stateIn + SharingStarted.WhileSubscribed()을 활용하여 메모리 최적화

네비게이션 충돌 해결

  • 기존 homeSection()navigation() 블록 사용을 제거하고 homeScreen()으로 함수명 변경
  • composable(route = HomeRoute)를 직접 정의하는 방식으로 변경하여 route 중복 충돌 해결

네이밍 정리

  • UserDataStore.setProfile()setProfileImage()로 함수명 명확화

jlkim909 added 6 commits July 25, 2025 07:02
- `UserDataRepository` 인터페이스를 정의하고 다음 기능을 포함합니다:
  - `userData`: `UserData`를 관찰할 수 있는 `Flow` 제공
  - `setEmail(email: String)`: 사용자 이메일 설정
  - `setNickname(nickname: String)`: 사용자 닉네임 설정
  - `setProfileImage(profileImage: UserProfileImage)`: 사용자 프로필 이미지 설정
- `UserDataStore`를 사용하여 사용자 데이터(이메일, 닉네임, 프로필 이미지)를 관리하는 `OfflineFirstUserDataRepository` 구현
- `UserDataRepository` 인터페이스를 구현하며, `userData` Flow를 통해 사용자 데이터를 제공하고
  각 설정 메서드를 통해 `UserDataStore`의 해당 함수를 호출
- `DataModule`에 `UserDataRepository`에 대한 바인딩 추가
- `OfflineFirstUserDataRepository`를 `UserDataRepository`의 구현체로 바인딩
- `homeSection` 함수 이름을 `homeScreen`으로 변경했습니다.
- 홈 화면은 더 이상 `navigation` 블록을 사용하지 않고, `composable`로 직접 정의하여 route 중복 문제를 해결했습니다.
- HomeViewModel에서 UserDataRepository를 주입받아 사용자 닉네임 정보를 가져오도록 수정
- 사용자 닉네임을 StateFlow로 관리하여 UI에 실시간으로 반영
@jlkim909 jlkim909 requested a review from hyunjung-choi July 24, 2025 22:15
@jlkim909 jlkim909 self-assigned this Jul 24, 2025
@jlkim909 jlkim909 added bug 버그 수정 feat 새로운 기능 labels Jul 24, 2025
@jlkim909 jlkim909 merged commit bdb7b52 into develop Jul 24, 2025
1 check passed
@jlkim909 jlkim909 deleted the feature/userdata-repository branch July 24, 2025 22:25
@jlkim909 jlkim909 linked an issue Jul 25, 2025 that may be closed by this pull request
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 버그 수정 feat 새로운 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement UserDataRepository and connect nickname to HomeScreen

1 participant