Skip to content

[Refactor/#99] 모듈 구조 재정립 - #210

Merged
ThirFir merged 25 commits into
developfrom
refactor/#99-modules
Jun 29, 2025
Merged

[Refactor/#99] 모듈 구조 재정립#210
ThirFir merged 25 commits into
developfrom
refactor/#99-modules

Conversation

@ThirFir

@ThirFir ThirFir commented Jun 26, 2025

Copy link
Copy Markdown
Collaborator

🧨 Issue

💻 Work Description

  • 모듈 재정립
  • 유틸리티 정리
  • BaseContainerHost 내의 base 함수 최적화
  • 레거시 앰플 코드 제거

💭 To Reviewers

( -> : 의존, NEW: 새로 생성한 모듈)

  • app -> 전체 모듈
  • core
    • ads-api
    • analytics
    • common (모든 모듈이 의존)
    • designsystem
    • map
    • model (NEW)
    • navigation (NEW) -> model
    • ui (NEW,, feature만 ui를 의존) -> model
    • utils < 삭제
  • feature -> domain, core(feature마다 구체적인 core 모듈 의존 상태는 다름)
    • areaverification
    • onboarding
    • profile
    • settings
    • signin
    • spot
    • upload
  • domain -> core:model
  • data -> domain
  • provider
    • ads-impl -> ads-api

대충 이런 의존 관계로 정립했는데, 그래프로 표현하려고 해봤는데 잘 안되네요 ㅠ 다시 시도해봐야겠음....
코드 변경은 거의 없습니다. 모듈 이동만 있을 뿐
다음 작업은 build-logic 나누는 기준 좀 다시 잡아봐야겠습니다

@ThirFir
ThirFir requested a review from 1971123-seongmin June 26, 2025 19:59
@ThirFir ThirFir self-assigned this Jun 26, 2025
@ThirFir ThirFir changed the title [Refactor/#99] 모듈 정리, 모듈 간 의존 관계 정리 [Refactor/#99] 모듈 구조 재정립 Jun 26, 2025
@ThirFir
ThirFir force-pushed the refactor/#99-modules branch from b20c985 to 88a41c7 Compare June 28, 2025 13:58

@1971123-seongmin 1971123-seongmin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

고생하셨습니다

LaunchedEffect(userType) {
_userType.value = userType
LaunchedEffect(Unit) {
snapshotFlow { userType }.collect {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

여기를 snapshotFlow로 바꾸신 이유가 뭔지 설명해주실 수 있나요?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

자주 바뀔 수 있는 값인데, LaunchedEffect 키로 걸어주면 바뀔 때마다 코루틴이 재실행되므로 비효율적이라고 판단했기 때문입니다

liveLocation.emit(newLocation)
newLocation?.let { onNewLocation(it) }
LaunchedEffect(Unit) {
snapshotFlow { newLocation }.filterNotNull().collect {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

여기도 snapshotFlow로 바꾸신 이유가 뭔지 설명해주실 수 있나요?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

위와 동일합니다!!

Comment thread settings.gradle.kts
include(":feature:ads-impl")
include(":core:ui")
include(":core:model")
include(":core:navigation")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

core-navigation 모듈만 따로 만드신 이유가 뭔지 설명해주실 수 있나요?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

분리할 수 있는 건 최대한 분리하고자 모듈화했습니다
Navigation 관련 유틸이나, Route들은 여기서 관리될 수 있습니다

android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

저희가 이 권한도 사용하고있었나요??

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

제가 선언한건 아니고 다른 곳에서 사용되고 있던걸 모듈 정리하면서 옮겼습니다

@ThirFir
ThirFir merged commit b64e3d4 into develop Jun 29, 2025
1 check passed
@ThirFir
ThirFir deleted the refactor/#99-modules branch July 18, 2025 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants