Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TNT-208] App Coordinator 로직 작성 #57

Merged
merged 4 commits into from
Feb 5, 2025
Merged

Conversation

FpRaArNkK
Copy link
Contributor

📌 What is the PR?

  • 앱의 화면흐름을 제어하는 Coordinator 로직을 작성했습니다.

🪄 Changes

  • OnboardingFlow Coordinator 작성
  • TraineeMainFlow Coordinator 작성
  • TrainerMainFlow Coordinator 작성

🌐 Common Changes

  • 구 OnboardingFeature 현 LoginFeature의 Navigate 로직이 OnboardingFlowFeature로 이관되었습니다

🔥 PR Point

  1. AppFlowCoordinator는 App의 전반적인 흐름을 제어하는 코디네이터입니다.
    온보딩/트레이너/트레이니 화면 흐름을 제어하며, 진입 시 인증 정보 확인, FCM, 인증 만료시 로그인 화면 라우팅 과 같은 로직이 추가될 예정입니다.
    ifLet을 통해 Onboarding/Trainer/Trainee Feature가 주입되며, 화면에 표시됩니다.

  2. OnboardingFlowFeature/View는 온보딩의 흐름을 제어하는 코디네이터입니다.
    화면 흐름을 제어하며, 온보딩 플로우에 필요한 데이터를 @shared로 갖게 될 예정입니다.
    NavigationStack에서 구성된 state+action -> store를 통해 해당 화면이 stack에 표시됩니다.

  3. Trainer/TraineeFlowFeature/View는 트레이너/트레이니의 각 화면 흐름을 제어하는 코디네이터입니다.
    마찬가지로 화면 흐름을 제어하며, 추후 해당 플로우에 추가되는 데이터들을 @shared로 갖게 될 예정입니다.
    MainTabView의 경우도 하나의 화면으로 취급됩니다.

  4. Onboarding/Trainer/TraineeFlowFeature의 Navigation 관리 단위는 stack-based로 관리되는 화면 하나입니다. 팝업/바텀시트와 같은 tree-based는 각 화면에서 관리하는 것을 원칙으로 합니다. 각 화면에서 선언한 setNavigating(RoutingScreen) 을 감시하며, 해당 액션 발생 시 RoutingScreen에 따라 현재 NavPath에 적절한 화면을 추가/삭제합니다.

🙆🏻 To Reviewers

  • 와 죽는줄 알았습니다 그래도 TCACoordinator 없이 TCA만으로 코디네이터가 되는게 신기하네요

💭 Related Issues

@FpRaArNkK FpRaArNkK added the ✨Feat 새로운 기능 구현 (새로운 로직 추가, UI 구현 등) label Feb 5, 2025
@FpRaArNkK FpRaArNkK requested a review from syss220211 February 5, 2025 14:02
@FpRaArNkK FpRaArNkK self-assigned this Feb 5, 2025
Copy link
Member

@syss220211 syss220211 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!

@FpRaArNkK FpRaArNkK changed the base branch from TNT-208-mainTab to develop February 5, 2025 15:05
@FpRaArNkK FpRaArNkK merged commit b733379 into develop Feb 5, 2025
@FpRaArNkK FpRaArNkK requested a review from stealmh February 6, 2025 11:29
@FpRaArNkK FpRaArNkK deleted the TNT-208-appCoordinate branch February 12, 2025 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feat 새로운 기능 구현 (새로운 로직 추가, UI 구현 등)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[TNT-208] App Coordinator 작성
2 participants