Skip to content

feat: 멀티모듈 아키텍처 전환 및 Hilt DI 도입 - #33

Merged
OnlyReadOneBook merged 4 commits into
mainfrom
feat/21
May 31, 2026
Merged

OnlyReadOneBook merged 4 commits into
mainfrom
feat/21

Conversation

@OnlyReadOneBook

Copy link
Copy Markdown
Owner

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • 단일모듈 → 11모듈 분할: :app + :core(model·common·ui·alarm·data) + :feature(main·addschedule·recommendation·information·profile·familygroup)
  • Hilt DI 전면 도입: @HiltAndroidApp·@AndroidEntryPoint·@HiltViewModel·Repository @Inject / 화면은 hiltViewModel()
  • util ↔ data 순환 해소(:core:common 추출), data → alarm 단방향 DAG 로 정리
  • FCMService/AlarmTriggerService ↔ MainActivity 디커플(문자열 클래스명), 알람 리소스 :core:alarm 이동
  • JavaPoet 버전 충돌 해결(javapoet:1.13.0 강제)
  • (별도 커밋) AGP/Gradle 버전 업데이트 + 모듈 구성

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

구조 리팩터 — UI 변경 없음

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

- 프로젝트 구조를 `:core` 및 `:feature` 기반의 멀티 모듈 체계로 개편
- Hilt를 이용한 의존성 주입(DI) 도입 및 관련 설정 적용
- `app` 모듈의 기능을 역할에 따라 각 하위 모듈(`main`, `addschedule`, `data`, `ui` 등)로 이관
- 아키텍처 가이드, 작업 규약 및 개발 환경 설정을 위한 wiki 문서 추가
- 빌드 스크립트 및 의존성 버전 관리(`libs.versions.toml`) 체계 업데이트
- 이슈 템플릿 준수 여부 확인을 위한 커스텀 훅 고도화
- Gradle 버전을 8.13으로, AGP를 8.13.2로 업데이트했습니다.
- Gradle JVM 툴체인 설정(Java 21) 및 foojay-resolver 플러그인을 추가했습니다.
- core 및 feature 관련 신규 모듈들을 프로젝트 설정에 등록했습니다.
@github-actions

github-actions Bot commented May 30, 2026 •

Copy link
Copy Markdown
Contributor

❌ Screenshot test fail — baseline 과 CI rendered PNG 차이.

📦 Artifact: https://github.com/1hyok/SlowClock/actions/runs/26706462011 (페이지 하단 Artifacts → screenshot-test-results)

🔍 확인 위치 (artifact zip 내부):

  • diff PNG: preview/debug/diffs/...
  • rendered PNG: preview/debug/rendered/... (CI 환경에서 새로 그린 결과)
  • baseline PNG: repo app/src/screenshotTestDebug/reference/...

📝 조치 가이드:

  • diff 가 anti-aliasing/font 미세 차이 → rendered PNG 를 baseline 으로 교체 후 commit/push
  • 의미 있는 시각 변경 → 의도 확인 후 ./gradlew :app:updateScreenshotTest 로 baseline 갱신 + commit/push

근본 fix (docker 통일 baseline 환경) 는 별 epic.

- core/data 모듈 컴파일을 위해 CI 워크플로우(.github/workflows)에 stub service_account 리소스 생성 단계 추가
- VertexAIRepository의 TAG 상수를 companion object로 이동
- TimelineScreen의 변수명을 Kotlin 네이밍 규칙에 맞춰 수정 (Date -> date)
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
AndroidGradlePluginVersion: A newer version of Gradle than 8.13 is available: 8.14.5

Comment thread gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
agp = "8.10.1"
agp = "8.13.2"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
AndroidGradlePluginVersion: A newer version of com.android.application than 8.13.2 is available: 9.2.1

Comment thread gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
agp = "8.10.1"
agp = "8.13.2"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
AndroidGradlePluginVersion: A newer version of com.android.library than 8.13.2 is available: 9.2.1

Comment thread gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
agp = "8.10.1"
agp = "8.13.2"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
AndroidGradlePluginVersion: A newer version of com.android.tools.build:gradle than 8.13.2 is available: 9.2.1

Comment thread gradle/libs.versions.toml
# --- 멀티모듈 DI ---
hilt = "2.52"
ksp = "2.0.21-1.0.28"
hiltNavigationCompose = "1.2.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
GradleDependency: A newer version of androidx.hilt:hilt-navigation-compose than 1.2.0 is available: 1.3.0

Comment thread gradle/libs.versions.toml
screenshot = "0.0.1-alpha15"
firebaseAppDistribution = "5.2.1"
# --- 멀티모듈 DI ---
hilt = "2.52"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
NewerVersionAvailable: A newer version of com.google.dagger.hilt.android than 2.52 is available: 2.59.2

Comment thread gradle/libs.versions.toml
screenshot = "0.0.1-alpha15"
firebaseAppDistribution = "5.2.1"
# --- 멀티모듈 DI ---
hilt = "2.52"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
NewerVersionAvailable: A newer version of com.google.dagger:hilt-android than 2.52 is available: 2.59.2

Comment thread gradle/libs.versions.toml
screenshot = "0.0.1-alpha15"
firebaseAppDistribution = "5.2.1"
# --- 멀티모듈 DI ---
hilt = "2.52"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
NewerVersionAvailable: A newer version of com.google.dagger:hilt-android-compiler than 2.52 is available: 2.59.2

Comment thread gradle/libs.versions.toml
screenshot = "0.0.1-alpha15"
firebaseAppDistribution = "5.2.1"
# --- 멀티모듈 DI ---
hilt = "2.52"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
NewerVersionAvailable: A newer version of com.google.dagger:hilt-android-gradle-plugin than 2.52 is available: 2.59.2

Comment thread gradle/libs.versions.toml
hilt = "2.52"
ksp = "2.0.21-1.0.28"
hiltNavigationCompose = "1.2.0"
kotlinxSerialization = "1.7.3"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ [Android Lint] reported by reviewdog 🐶
NewerVersionAvailable: A newer version of org.jetbrains.kotlinx:kotlinx-serialization-core than 1.7.3 is available: 1.11.0

@OnlyReadOneBook
OnlyReadOneBook merged commit ffc604c into main May 31, 2026
7 of 8 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the feat/21 branch September 6, 2026 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant