Skip to content

Conversation

@librawish808
Copy link
Collaborator

@librawish808 librawish808 commented Sep 20, 2025

🔗 관련 이슈

📙 작업 설명

기능별 패키지 분리 및 이동 (ui/feature/...)
공통 패키지 정리 (ui/common, type 등)
빌드 에러 import 경로 문제 해결

💬 추가 설명 or 리뷰 포인트 (선택)

  • data 레이어의 세부 패키징(기능별 그룹화)은 팀 논의를 거치기 위해 이번 PR 범위에서 제외했습니다.
  • 전반적인 패키지 구조가 팀의 컨벤션에 맞게 잘 정리되었는지 중점적으로 리뷰해주시면 감사하겠습니다!

ProtossManse and others added 19 commits September 18, 2025 01:34
- const로 암호화 / 복호화에 사용할 키, 알고리즘, 패딩 등을 정의합니다.
- getKey와 createKey 함수로 Android Keystore 내부에 있는 키를 가져오거나 키를 생성합니다.
- encrypt나 decrypt 함수로 키를 사용해 암호화 / 복호화를 수행합니다.
- preferencesDatastore를 사용하던 기존 방식에서 Serialization과 datastore를 사용하는 방식으로 마이그레이션
- 관련 정보는 https://velog.io/@ams770/Jetpack-DataStore-with-Kotlinx-Serialization, https://developers-kr.googleblog.com/2021/04/using-datastore-with-kotlin-serialization.html 참고
- Token 객체 -> Json -> ByteArray -> 암호화 -> ByteArrayBase64 과정으로 인코딩
- 상기 순서와 역순의 과정으로 디코딩
- Cipher 인스턴스를 재사용하지 않고 새로 생성
- AndroidKeyStore 프로바이더로 키 생성하도록 수정
- defaultValue를 Token(null, null)로 통일
ui/common
- component, extension, util
ui/feature
- 각 화면(기능)별로 패키지를 분리하여 관리 용이성 개선
- alarm, calendar, home, homedetail, login, settings, splash, statistics
home/navigation
-BottomNavItem, NavGraph, Route
- ViewModel, UiState를 같은 패키지로 이동
-GlucoseStatusUtil, WeeklySummaryUtil
- model 패키지에 혼재되어 있던 Enum, Sealed 클래스를 type 패키지로 이동
- 재사용 가능한 확장 함수들을 관리할 수 있는 기반 마련
…into chore/packaging-structure-#109

# Conflicts:
#	app/src/main/java/com/konkuk/medicarecall/data/repository/DataStoreRepository.kt
@coderabbitai
Copy link

coderabbitai bot commented Sep 20, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

106 files out of 213 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/packaging-structure-#109

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Comment @coderabbitai help to get the list of available commands and usage tips.

@librawish808 librawish808 changed the title Chore/packaging structure #109 [Chore] 패키징 구조화 #109 Sep 20, 2025
@librawish808 librawish808 changed the title [Chore] 패키징 구조화 #109 [Chore] 패키징 수정 #109 Sep 20, 2025
Copy link
Collaborator

@alswlekk alswlekk left a comment

Choose a reason for hiding this comment

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

Impl,responseDto,requestDto 같은 파일들 상단쪽 data 패키지안에 있는 패키지들로 옮기면 어떨까요 ?? 일단 노션 문서엔 feature 패키지 안에 있는 패키지가 navigation, viewmodel, screen, component 이렇게 네 개의 패키지만 있는데 service 같은 파일은 아마 노션에서 data 패키지안에 api 란 패키지가 있었던 거 같아서 거기에 넣음 될 거 같습니다

// 뒤로 가기+ 상세 화면 제목
Icon(
modifier = Modifier
modifier = Modifier.Companion
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 코드에서 .Companion을 붙인 이유가 있을까요 ??

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

빌드 에러 수정 과정에서 자동으로 변경된것같습니다 수정해놓겠습니다!

@@ -1,4 +1,4 @@
package com.konkuk.medicarecall.ui.home.model
package com.konkuk.medicarecall.ui.feature.home.model
Copy link
Collaborator

Choose a reason for hiding this comment

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

여기도 데이터 패키지 안의 request 패키지에 넣는 건 어떨까요 ??

Suggested change
package com.konkuk.medicarecall.ui.feature.home.model
package com.konkuk.medicarecall.data.dto.request

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

넵 해당 부분은 월요일 회의에서 논의한 후 진행하기로해서 현상 유지했습니다!

@@ -1,4 +1,4 @@
package com.konkuk.medicarecall.ui.home.model
package com.konkuk.medicarecall.ui.feature.home.model
Copy link
Collaborator

Choose a reason for hiding this comment

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

여기도 데이터 패키지 안의 request 패키지 안으로 옮겨도 괜찮을 거 같아요

Suggested change
package com.konkuk.medicarecall.ui.feature.home.model
package com.konkuk.medicarecall.data.dto.response

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

이 data 관련 리팩토링은 위에서 말씀드린 것처럼, 월요일 회의에서 논의한 뒤에 한 번에 반영하도록 하겠습니다!

@@ -1,13 +1,14 @@
package com.konkuk.medicarecall.ui.home.data
package com.konkuk.medicarecall.ui.feature.home.data
Copy link
Collaborator

Choose a reason for hiding this comment

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

여기 부분 패키지 이런식으로 수정해도 괜찮을 거 같아요 !

Suggested change
package com.konkuk.medicarecall.ui.feature.home.data
package com.konkuk.medicarecall.data.repositoryimpl

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

이 부분도 위쪽 코멘트에서 말씀드린 것처럼 월요일 회의에서 논의 후 반영하겠습니다! 감사합니다.

Copy link
Contributor

@ikseong00 ikseong00 left a comment

Choose a reason for hiding this comment

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

  1. feature 모듈에 패키지 존재해서 레이어에 따라 이동해야할 것 같습니다
  • /ui/home/
  • /ui/homedetail/
  • /ui/meal/
  • /ui/medicine/
  • /ui/sleep/
  • /ui/statehealth
  • /ui/statistics
  1. 패키지 언더바 (_) 제거
  2. ui/settings/ 안에 조금 더 세부적으로 패키징이 필요할 듯 싶습니다!
    • 이거는 맡은 담당자가 추후 리패키징 해도 될 것 같아요

@librawish808
Copy link
Collaborator Author

@alswlekk @ikseong00
피드백 주신 부분 모두 반영하여 다시 푸시했습니다!

@ProtossManse
Copy link
Collaborator

  1. domain 패키지 아래에 있는 GlucoseDataPoint와 GlucoseTiming 파일은 UI에서 사용하는 enum인 것 같은데, ui/model/에 들어가야 할 것 같습니다.
  2. ui/feature/statistics/ui/feature/glucoselevel/아래에 util 패키지가 따로 있는데, 이 부분 ui/common/util/로 옮기는게 좋을 것 같습니다

@librawish808
Copy link
Collaborator Author

  • GlucoseDataPoint는 ui/model로 이동했습니다.
  • GlucoseTiming의 경우 GlucoseClassifier의 혈당 판정 임계값이 달라져서 domain에 그대로 두는 방향으로 생각하는데 어떻게 생각하시나요?
  1. 수정사항 반영했습니다.

혹시 제가 놓친 부분이 있다면 말씀해주세요!

@ProtossManse
Copy link
Collaborator

회의 내용 -> GlucoseTiming, GlucoseDataPoint : ui/model
GlucoseClassifier: ui/util

navigation: ui/feature/home/navigation -> medicarecall/navigation

@librawish808 librawish808 self-assigned this Sep 22, 2025
GlucoseTiming, GlucoseDataPoint : ui/model
GlucoseClassifier: ui/util

navigation: medicarecall/navigation
@ProtossManse
Copy link
Collaborator

LGTM

@librawish808 librawish808 merged commit 5f48061 into develop Sep 22, 2025
2 checks passed
@librawish808 librawish808 deleted the chore/packaging-structure-#109 branch September 22, 2025 15:10
@librawish808 librawish808 linked an issue Sep 25, 2025 that may be closed by this pull request
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chore] 패키징 수정

5 participants