Skip to content

SCRUM-260 feature: save user data#29

Open
hyunjung-choi wants to merge 8 commits intodevelopfrom
feature/SCRUM-260-save-user-data
Open

SCRUM-260 feature: save user data#29
hyunjung-choi wants to merge 8 commits intodevelopfrom
feature/SCRUM-260-save-user-data

Conversation

@hyunjung-choi
Copy link
Collaborator

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines

What kind of change does this PR introduce?

  • Add feature
  • Implement design

What is the current behavior?

  • Navigation이 모든 화면에 단일 Scaffold 적용
  • 사용자 온보딩 데이터 로컬 저장 기능 없음
  • MyPage에서 하드코딩된 샘플 데이터 표시

What is the new behavior if this is a feature change?

  • Nested Navigation: OnboardingGraph과 MainGraph으로 분리, 각각 별도 Scaffold 적용
  • Onboarding 플로우 확장: ProfileScreen과 WelcomeScreen 추가 (iOS처럼 1초 자동 전환)
  • DataStore 연동: 온보딩 데이터 (성별, 출생년도, 닉네임, 프로필) 로컬 저장
  • Hilt 설정: UserPreferencesDataStore와 ViewModel DI 적용
  • MyPage: DataStore에서 사용자 닉네임과 프로필 표시

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No

ScreenShots (If needed)

@hyunjung-choi hyunjung-choi self-assigned this Jan 19, 2026
@hyunjung-choi hyunjung-choi added the feat 새로운 기능 label Jan 19, 2026
@hyunjung-choi
Copy link
Collaborator Author

MyPage 상단 설정 버튼에 데이터 초기화 함수를 임시로 적용해놓았습니다 . . !

@hyunjung-choi hyunjung-choi changed the title Feature/scrum 260 save user data SCRUM-260 feature: save user data Jan 19, 2026
@gdaegeun539
Copy link
Member

이 PR을 먼저 검토하고, #14 는 이 브랜치에서 설정한 Hilt 설정으로 마이그레이션할게요.

Copy link
Member

@gdaegeun539 gdaegeun539 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거만 먼저 커멘트 부탁드립니다. 나머지 부분은 계속 코드리뷰 진행할게요.

@gdaegeun539 gdaegeun539 self-requested a review January 22, 2026 00:37
@gdaegeun539
Copy link
Member

기능상으로는 잘 되는듯 보이는데 레이어 상으로 뭔가 애매한듯해서 오늘 퇴근하고 마저 커멘트 남길게요.
근데 대 에이전틱코딩 시대에 이정도가 중요한가 싶기도 하고요...?

Copy link
Member

@gdaegeun539 gdaegeun539 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

작동도 잘 되고 구현 감사합니다...만 여쭤보고 싶은 점이 있어요

startDestination = FeelinDestination.Login.route,
route = FeelinDestination.OnboardingGraph.route
) {
loginScreen(navController)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 이건 나중에 다른 화면들도 뎁스가 늘어나면 private 함수로 나누는걸 고려할 수 있겠네요 👍

import kotlinx.coroutines.flow.first
import kotlinx.coroutines.launch

@Suppress("UnusedPrivateProperty") // TODO(@이대근): 실제 기능 구현시 제거할 것 2025.11.21.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 어노테이션이랑 안쓰는 더미데이터 제가 떼서 올려도 괜찮을까요 🤔


@HiltViewModel
class OnboardingViewModel @Inject constructor(
private val userPreferencesDataStore: UserPreferencesDataStore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

뷰모델에서 데이터소스를 바로 받아서 써도 괜찮을까요?
임시 로컬 저장소여서 나중에 서버 데이터와 연동하면 레포지토리 기반으로 전환하나요?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants