-
Notifications
You must be signed in to change notification settings - Fork 2
Release/1.1.0 #111
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
Release/1.1.0 #111
Conversation
Feat/#106 ๋ฐํ ์ํธ ๊ตฌํ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 7 out of 27 changed files in this pull request and generated no comments.
Files not reviewed (20)
- app/build.gradle.kts: Language not supported
- app/src/main/java/com/toyou/toyouandroid/data/UserDao.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/data/UserDatabase.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/data/UserEntity.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/data/home/dto/response/YesterdayCardResponse.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/data/home/service/HomeService.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/domain/home/repository/HomeRepository.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/model/YesterdayType.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/emotionstamp/HomeOptionFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetAdapter.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetCardDetailAdapter.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/MypageFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/ProfileFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SignupNicknameFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SplashFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/record/friend/FriendCardDetailFragment.kt: Language not supported
- app/src/main/java/com/toyou/toyouandroid/presentation/viewmodel/HomeViewModelFactory.kt: Language not supported
- app/src/main/res/layout/fragment_home.xml: Language not supported
Walkthrough์ด๋ฒ pull request๋ Gradle ๋น๋ ํ์ผ์ ์๋ช ๊ตฌ์ฑ๊ณผ ๋ฒ์ ๋ช ์ด ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ, ๊ธฐ์กด์ ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ด๋ จ DAO, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ํฐํฐ๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. ๋์ "YesterdayCard" ๊ด๋ จ ์ ๋ฐ์ดํฐ ํด๋์ค, ์์, API ๋ฉ์๋ ๋ฐ Repository๊ฐ ์ถ๊ฐ๋์ด ํด๋น ๊ธฐ๋ฅ์ ๋ํ ๋ฐ์ดํฐ ํ๋ฆ์ด ๋์ ๋์์ต๋๋ค. ๋ํ ViewModel, Fragment, Adapter ๋ฑ์ด ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ์ํ๋๋ก ์์ ๋์์ผ๋ฉฐ, ๋ ์ด์์ ํ์ผ ๋ฐ ์คํ์ผ, ๋ฌธ์์ด, CI/CD ์ํฌํ๋ก์ฐ๋ ์ ๋ฐ์ดํธ๋์์ต๋๋ค. Changes
Sequence Diagram(s)sequenceDiagram
participant UI as UI/Fragment
participant VM as HomeViewModel
participant Repo as HomeRepository
participant Service as HomeService
participant API as Server/API
UI->>VM: getYesterdayCard() ํธ์ถ
VM->>Repo: getYesterdayCard() ํธ์ถ
Repo->>Service: getCardYesterday() ํธ์ถ
Service->>API: HTTP GET /diarycards/yesterday
API-->>Service: BaseResponse<YesterdayCardResponse> ์ ๋ฌ
Service-->>Repo: ์๋ต ์ ๋ฌ
Repo-->>VM: YesterdayCard ๋ฐ์ดํฐ ๋ฐํ
VM-->>UI: LiveData ์
๋ฐ์ดํธ (yesterdayCards)
Possibly related PRs
๐ชง TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
๐งน Nitpick comments (13)
app/src/main/res/layout/item_yesterday_qa.xml (1)
1-42: ์ด์ ์ ์นด๋ Q&A ์์ดํ ๋ ์ด์์ ์ถ๊ฐ์ง๋ฌธ๊ณผ ๋ต๋ณ์ ๋ณด์ฌ์ฃผ๋ ์๋ก์ด ๋ ์ด์์ ํ์ผ์ด ์ถ๊ฐ๋์์ต๋๋ค. ConstraintLayout์ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ธ UI ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ์ต๋๋ค. ์ง๋ฌธ(question)๊ณผ ๋ต๋ณ(answer) TextView๊ฐ ์ ์ ์๋์ด ์์ผ๋ฉฐ, ๋ต๋ณ์ LinearLayout ์ปจํ ์ด๋ ๋ด์ ๋ฐฐ์น๋์ด ์์ต๋๋ค.
๋ ์ด์์์ ๊ตฌ์กฐ๊ฐ ๋ช ํํ๊ณ , ์คํ์ผ๋ง์ด ์ผ๊ด๋๊ฒ ์ ์ฉ๋์์ต๋๋ค. ์ง๋ฌธ๊ณผ ๋ต๋ณ์ด ์๊ฐ์ ์ผ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ์ ์ ํ ์ฌ๋ฐฑ(padding, margin)์ด ์ค์ ๋์ด ์์ต๋๋ค.
๊ฐ์ ์ ์: ์ ๊ทผ์ฑ ๊ณ ๋ ค
์ ๊ทผ์ฑ ํฅ์์ ์ํด TextViews์ contentDescription ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณด์ธ์.
<TextView android:id="@+id/question" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์์ฆ ์ด๋ป๊ฒ ์ง๋ด?" style="@style/gangwon8" android:textColor="@color/black" + android:contentDescription="์ง๋ฌธ" android:layout_marginTop="10dp"/> <TextView android:id="@+id/answer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="๊ทธ๋ฅ ์ ๋ฅ.. ์ผํ๊ณ ์ฌ๋ํ๊ณ ์ง์ฆ๋ ๋ด๊ณ .." style="@style/gangwon8" android:textColor="@color/black" + android:contentDescription="๋ต๋ณ" />app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/MypageFragment.kt (1)
78-78: HomeRepository ์ธ์คํด์ค ์์ฑ ๋ฐฉ์ ๊ฒํ ํ์.HomeRepository ์ธ์คํด์ค๊ฐ ํ๋ผ๋ฏธํฐ ์์ด ์ง์ ์์ฑ๋๊ณ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์์กด์ฑ ์ฃผ์ ํจํด์ ์์ ํ ๋ฐ๋ฅด์ง ์์ ๋จ์ ํ ์คํธ๊ฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์์กด์ฑ ์ฃผ์ ํ๋ ์์ํฌ(์: Dagger/Hilt)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ํฉํ ๋ฆฌ ํจํด์ ํตํด HomeRepository๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๋ ์ข์ ์ ๊ทผ ๋ฐฉ์์ผ ์ ์์ต๋๋ค.
app/src/main/res/layout/item_yesterday_option_three.xml (2)
13-13: ํ๋์ฝ๋ฉ๋ ํ ์คํธ ๋ฆฌ์์ค ์ฌ์ฉ."์์ฆ ์ด๋ป๊ฒ ์ง๋ด?"๋ผ๋ ํ ์คํธ๊ฐ ํ๋์ฝ๋ฉ๋์ด ์์ต๋๋ค. ๋ค๊ตญ์ด ์ง์๊ณผ ์ ์ง๋ณด์๋ฅผ ์ํด strings.xml ๋ฆฌ์์ค ํ์ผ๋ก ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- android:text="์์ฆ ์ด๋ป๊ฒ ์ง๋ด?" + android:text="@string/yesterday_question_sample"
28-42: ๋ฐ๋ณต๋๋ TextView ์์ฑ๋ค.์ธ ๊ฐ์ TextView๊ฐ ๋ง์ ์์ฑ์ ๊ณต์ ํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ์คํ์ผ๋ก ์ถ์ถํ์ฌ ์ฝ๋ ์ค๋ณต์ ์ค์ด๋ ๊ฒ์ด ์ข์ต๋๋ค.
styles.xml์ ๋ค์๊ณผ ๊ฐ์ ์คํ์ผ์ ์ถ๊ฐํ๊ณ ๊ฐ TextView์ ์ ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์ธ์:
<style name="OptionTextView" parent="gangwon8"> <item name="android:background">@drawable/search_container</item> <item name="android:gravity">center</item> <item name="android:textColor">@color/black</item> <item name="android:ellipsize">none</item> <item name="android:singleLine">false</item> <item name="android:paddingVertical">8dp</item> <item name="android:maxLines">999</item> </style>๊ทธ๋ฆฌ๊ณ ๊ฐ TextView์์:
- style="@style/gangwon8" - android:background="@drawable/search_container" - android:gravity="center" - android:textColor="@color/black" - android:ellipsize="none" - android:singleLine="false" - android:paddingVertical="8dp" - android:maxLines="999" + style="@style/OptionTextView"Also applies to: 44-59, 61-76
app/src/main/res/layout/item_yesterday_option_two.xml (4)
13-13: ํ๋์ฝ๋ฉ๋ ํ ์คํธ ๋ฆฌ์์ค ์ฌ์ฉ."์์ฆ ์ด๋ป๊ฒ ์ง๋ด?"๋ผ๋ ํ ์คํธ๊ฐ ํ๋์ฝ๋ฉ๋์ด ์์ต๋๋ค. ๋ค๊ตญ์ด ์ง์๊ณผ ์ ์ง๋ณด์๋ฅผ ์ํด strings.xml ๋ฆฌ์์ค ํ์ผ๋ก ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- android:text="์์ฆ ์ด๋ป๊ฒ ์ง๋ด?" + android:text="@string/yesterday_question_sample"
54-54: android:layout_marginLeft ๋์ android:layout_marginStart ์ฌ์ฉ ๊ถ์ฅ.RTL(์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ) ์ธ์ด ์ง์์ ์ํด marginLeft ๋์ marginStart๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- android:layout_marginLeft="20dp" + android:layout_marginStart="20dp"
20-20: ์ผ๊ด์ฑ ์๋ ID ๋ค์ด๋ฐ.item_yesterday_option_three.xml๊ณผ ๋์ผํ ๋ ์ด์์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง, ์ฌ๊ธฐ์๋ LinearLayout์ ID๊ฐ "choose_three_linear"๋ก ๋์ด ์์ต๋๋ค. ๋ ๊ฐ์ ์ต์ ์ ๊ฐ์ง ๋ ์ด์์์ด๋ฏ๋ก "choose_two_linear"๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ ์ผ๊ด์ฑ ์์ ๊ฒ์ ๋๋ค.
- android:id="@+id/choose_three_linear" + android:id="@+id/choose_two_linear"
32-32: ์ผ๊ด์ฑ ์๋ ID ๋ค์ด๋ฐ (TextView).TextView์ ID๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. "choose_three_first_tv"์ "choose_three_second_tv"๋ก ๋์ด ์์ง๋ง, ๋ ๊ฐ์ ์ต์ ์ ๊ฐ์ง ๋ ์ด์์์ด๋ฏ๋ก "choose_two_first_tv"์ "choose_two_second_tv"๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ ์ผ๊ด์ฑ ์์ ๊ฒ์ ๋๋ค.
- android:id="@+id/choose_three_first_tv" + android:id="@+id/choose_two_first_tv" - android:id="@+id/choose_three_second_tv" + android:id="@+id/choose_two_second_tv"Also applies to: 49-49
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/emotionstamp/HomeOptionFragment.kt (1)
61-61: HomeRepository ์ธ์คํด์ค ์์ฑ ๋ฐฉ์ ๊ฒํ ํ์.HomeRepository ์ธ์คํด์ค๊ฐ ํ๋ผ๋ฏธํฐ ์์ด ์ง์ ์์ฑ๋๊ณ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์์กด์ฑ ์ฃผ์ ํจํด์ ์์ ํ ๋ฐ๋ฅด์ง ์์ ๋จ์ ํ ์คํธ๊ฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์์กด์ฑ ์ฃผ์ ํ๋ ์์ํฌ(์: Dagger/Hilt)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ํฉํ ๋ฆฌ ํจํด์ ํตํด HomeRepository๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๋ ์ข์ ์ ๊ทผ ๋ฐฉ์์ผ ์ ์์ต๋๋ค.
app/src/main/java/com/toyou/toyouandroid/presentation/viewmodel/HomeViewModelFactory.kt (1)
5-5: HomeViewModelFactory์ ์์กด์ฑ ์ฃผ์ ์ ๋ฐ์ดํธ๊ฐ ์ ์ ํฉ๋๋ค.
HomeViewModel์HomeRepository๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํ ํฉํ ๋ฆฌ ํด๋์ค ์์ ์ด ์ ๊ตฌํ๋์์ต๋๋ค. ๋ค๋ง,HomeOptionViewModel๊ณผ ๊ฐ์ดrepository๋ฅผ ์ฌ์ฉํ์ง ์๋ ViewModel๋ ์์ด ๋ณด์ด๋๋ฐ, ์ฅ๊ธฐ์ ์ผ๋ก๋ ๋ชจ๋ ViewModel ํด๋์ค๊ฐ ์ผ๊ด๋ ์์กด์ฑ ํจํด์ ๊ฐ์ง๋๋ก ๋ฆฌํฉํ ๋ง์ ๊ณ ๋ คํด ๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.์์กด์ฑ ์ฃผ์ ํจํด์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ธฐ ์ํด, ๋์ค์๋
HomeOptionViewModel์๋repository๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ๊ฐ ViewModel์ ๋ง๋ ๋ณ๋์ Factory๋ฅผ ๋ง๋๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณด์ธ์.Also applies to: 12-13, 21-21
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetCardDetailAdapter.kt (3)
12-12: [์ฌ์ฉ๋์ง ์๋ import ๊ฐ๋ฅ์ฑ]
Ytype1ํด๋์ค๊ฐ ์ฝ๋ ๋ด์์ ์ฌ์ฉ๋์ง ์๋๋ค๋ฉด ์ ๊ฑฐ๋ฅผ ๊ณ ๋ คํด ์ฃผ์ธ์. ๋ถํ์ํ import๋ ์ฝ๋๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
38-43: [getItemViewType ๋ฌธ์์ด ๋ถ๊ธฐ ์ฌ์ฉ]
์ง๋ฌธ ํ์ ์ ๋ฐ๋ฅธ ๋ทฐ ํ์ ๋ถ๊ธฐ๊ฐ ๋ช ํํ๋, ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๋์ enum/์์ํ ๋ฑ์ ๊ณ ๋ คํ๋ฉด ์ ์ง๋ณด์์ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
159-165: [mapQuestionType ๋ฉ์๋ ์ค๋ณต ๊ฐ๋ฅ์ฑ]
mapQuestionType์ดgetItemViewType๊ณผ ์ ์ฌํ ๋ก์ง์ ๊ณต์ ํ๋ฏ๋ก, ์ค๋ณต๋ ๋ถ๊ธฐ๋ฅผ ํ๋์ ๋ฉ์๋ ๋๋ enum์ผ๋ก ํฉ์ณ ๊ด๋ฆฌํด ๋ณผ ์ ์์ต๋๋ค.
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (27)
app/build.gradle.kts(1 hunks)app/src/main/java/com/toyou/toyouandroid/data/UserDao.kt(0 hunks)app/src/main/java/com/toyou/toyouandroid/data/UserDatabase.kt(0 hunks)app/src/main/java/com/toyou/toyouandroid/data/UserEntity.kt(0 hunks)app/src/main/java/com/toyou/toyouandroid/data/home/dto/response/YesterdayCardResponse.kt(1 hunks)app/src/main/java/com/toyou/toyouandroid/data/home/service/HomeService.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/domain/home/repository/HomeRepository.kt(1 hunks)app/src/main/java/com/toyou/toyouandroid/model/YesterdayType.kt(1 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/emotionstamp/HomeOptionFragment.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeFragment.kt(6 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt(3 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetAdapter.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetCardDetailAdapter.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/MypageFragment.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/ProfileFragment.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SignupNicknameFragment.kt(2 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SplashFragment.kt(0 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/fragment/record/friend/FriendCardDetailFragment.kt(1 hunks)app/src/main/java/com/toyou/toyouandroid/presentation/viewmodel/HomeViewModelFactory.kt(1 hunks)app/src/main/res/layout/fragment_home.xml(1 hunks)app/src/main/res/layout/fragment_notice.xml(2 hunks)app/src/main/res/layout/item_home_bottom_sheet.xml(7 hunks)app/src/main/res/layout/item_yesterday_option_three.xml(1 hunks)app/src/main/res/layout/item_yesterday_option_two.xml(1 hunks)app/src/main/res/layout/item_yesterday_qa.xml(1 hunks)app/src/main/res/values/font_styles.xml(1 hunks)app/src/main/res/values/strings.xml(1 hunks)
๐ค Files with no reviewable changes (4)
- app/src/main/java/com/toyou/toyouandroid/data/UserDao.kt
- app/src/main/java/com/toyou/toyouandroid/data/UserDatabase.kt
- app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SplashFragment.kt
- app/src/main/java/com/toyou/toyouandroid/data/UserEntity.kt
๐งฐ Additional context used
๐งฌ Code Definitions (1)
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt (1)
app/src/main/java/com/toyou/toyouandroid/domain/home/repository/HomeRepository.kt (1)
getYesterdayCard(13-13)
๐ช detekt (1.23.7)
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt
[warning] 86-86: The caught exception is swallowed. The original exception could be lost.
(detekt.exceptions.SwallowedException)
โฐ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Continuous Deployment
๐ Additional comments (70)
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/record/friend/FriendCardDetailFragment.kt (1)
82-82: ๋ก๊น ํ๊ทธ ์์ ์ด ์ ์ ํฉ๋๋ค.Timber ๋ก๊น ํ๊ทธ๋ฅผ ํด๋์ค ์ด๋ฆ๊ณผ ์ผ์นํ๋๋ก ๋ณ๊ฒฝํ ๊ฒ์ ์ข์ ์ค์ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ก๊ทธ๋ฅผ ํํฐ๋งํ๊ณ ์๋ณํ๊ธฐ๊ฐ ๋ ์ฌ์์ ธ ๋๋ฒ๊น ๊ฒฝํ์ด ํฅ์๋ฉ๋๋ค.
app/src/main/res/values/font_styles.xml (1)
3-9: ์ ์คํ์ผgangwon8์ถ๊ฐ ๊ฒํ
์๋ก์ด ์คํ์ผ์ธgangwon8๊ฐ ๋ฌธ์ ์์ด ์ถ๊ฐ๋์์ต๋๋ค. ํฐํธ ์คํ์ผ, ํฐํธ ํจ๋ฐ๋ฆฌ, ํฐํธ ๋ฌด๊ฒ, ํ ์คํธ ํฌ๊ธฐ๊ฐ ๊ธฐ์กด ์คํ์ผ๊ณผ ์ผ๊ด๋๊ฒ ์์ฑ๋์ด ์์ผ๋ฉฐ, ์ถ๊ฐ ํ UI์ ์ ๋๋ก ์ ์ฉ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.app/src/main/res/values/strings.xml (1)
108-108: ์ฑ ๋ฒ์ ๋ฌธ์์ด ์ ๋ฐ์ดํธ ๊ฒํ
mypage_version_name๋ฌธ์์ด์ด "1.0.10"์์ "1.1.0"์ผ๋ก ๋ณ๊ฒฝ๋์ด, ์ฑ์ ์๋ก์ด ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์ํ๊ณ ์์ต๋๋ค.app/src/main/java/com/toyou/toyouandroid/model/YesterdayType.kt (1)
1-6: ์ ์์ ํ์ผYesterdayType.kt๊ฒํ
ํด๋น ํ์ผ์์ ๋ค ๊ฐ์ ์์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ธ๋์์ต๋๋ค. ์์๋ช ๊ณผ ๊ฐ์ด ๋ช ํํ๋ฉฐ, ์ดํ "Yesterday Card" ๊ด๋ จ API ์๋ต ์ฒ๋ฆฌ์ ๋ฌธ์ ์์ด ์ฌ์ฉ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.app/build.gradle.kts (1)
29-31: ๋ฒ์ ์ด๋ฆ ์ ๋ฐ์ดํธ ํ์ธ
defaultConfig๋ธ๋ก ๋ด์์versionName์ด "1.1.0"์ผ๋ก ๋ณ๊ฒฝ๋์ด, ์๋ก์ด ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์๋์์ต๋๋ค. ๋ค๋ฅธ ๋น๋ ์ค์ ๊ณผ๋ ์ผ๊ด๋๊ฒ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.app/src/main/res/layout/fragment_notice.xml (2)
57-59: ์น๊ตฌ ์์ฒญ ์ ๋ชฉ ํ ์คํธ ์คํ์ผ ๋ณ๊ฒฝ ๊ฒํ
tv_title_friend_request์ ์คํ์ผ์ด@style/sc_r15๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ฒ ๋ณ๊ฒฝ์ ํ ์คํธ์ ์๊ฐ์ ๊ฐ์กฐ๋ฅผ ๊ฐ์ ํ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, ๊ธฐ์กด UI ๋์์ธ๊ณผ ์ ์ด์ฐ๋ฌ์ง๋๋ค.
92-98: ์ ์ฒด ์๋ฆผ ์ ๋ชฉ ํ ์คํธ ์คํ์ผ ๋ณ๊ฒฝ ๊ฒํ
tv_title_entire_notice์ ์คํ์ผ๋@style/sc_r15๋ก ๋ณ๊ฒฝ๋์ด, UI ์ ์ฒด์ ๋์์ธ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ๊ธฐ์ฌํ๊ณ ์์ต๋๋ค.app/src/main/java/com/toyou/toyouandroid/data/home/service/HomeService.kt (2)
3-4: YesterdayCardResponse ๋ชจ๋ธ ์ํฌํธ ์ถ๊ฐ์๋ก์ด ๋ฐ์ดํฐ ๋ชจ๋ธ YesterdayCardResponse๋ฅผ ์ํฌํธํ์ฌ ์ด์ ์ ์นด๋ ๊ธฐ๋ฅ์ ์ํ ์๋ต ํ์ ์ ์ ์ํ์ต๋๋ค. ๊ธฐ์กด ์ฝ๋ ๊ตฌ์กฐ์ ์ผ๊ด์ฑ ์๊ฒ ์์ฑ๋์์ต๋๋ค.
17-19: ์ด์ ์ ์นด๋ API ์๋ํฌ์ธํธ ์ถ๊ฐ์ด์ ์์ฑ๋ ์นด๋๋ฅผ ์กฐํํ๋ ์๋ก์ด API ์๋ํฌ์ธํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. suspend ํจ์๋ก ์ ์๋์ด ์ฝ๋ฃจํด๊ณผ ํจ๊ป ๋น๋๊ธฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ์กด API ํจํด๊ณผ ์ผ์นํ๋ ๊ตฌํ์ ๋๋ค.
app/src/main/res/layout/fragment_home.xml (1)
205-205: ์ฌ์ฉ์ ๋ฉ์์ง ์ ๋ฐ์ดํธ"์์ง ์ค๋น์ค์ธ ๊ธฐ๋ฅ์ด์์"์์ "์์ง ์น๊ตฌ๋ค์ด ์ผ๊ธฐ์นด๋๋ฅผ\n์์ฑํ์ง ์์์ด์"๋ก ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค. ์ด๋ ์ด์ ์ ์นด๋ ๊ธฐ๋ฅ ์ถ๊ฐ์ ์ผ๊ด์ฑ ์๊ฒ ์ฌ์ฉ์์๊ฒ ๋ ๊ตฌ์ฒด์ ์ธ ๋ฉ์์ง๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐํ ๋ฌธ์(\n)๋ฅผ ์ถ๊ฐํ์ฌ ๊ฐ๋ ์ฑ์ ๋์์ต๋๋ค.
app/src/main/java/com/toyou/toyouandroid/domain/home/repository/HomeRepository.kt (3)
3-3: YesterdayCardResponse ์ํฌํธ ์ถ๊ฐ์๋ก์ด ์ด์ ์ ์นด๋ ๊ธฐ๋ฅ์ ์ํ ์๋ต ๋ชจ๋ธ ์ํฌํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
6-6: BaseResponse ์ํฌํธ ์ถ๊ฐ๋คํธ์ํฌ ์๋ต ๋ํผ ํด๋์ค์ธ BaseResponse ์ํฌํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
13-13: ์ด์ ์ ์นด๋ ์กฐํ ๋ฉ์๋ ์ถ๊ฐHomeService์ getCardYesterday() API๋ฅผ ํธ์ถํ๋ getYesterdayCard() ๋ฉ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๊ธฐ์กด ์ฝ๋ ์คํ์ผ๊ณผ ์ผ๊ด๋๊ฒ ์์ฑ๋์์ผ๋ฉฐ, ๊ตฌํ์ด ๊ฐ๊ฒฐํฉ๋๋ค.
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/MypageFragment.kt (2)
24-24: HomeRepository ์์กด์ฑ ์ถ๊ฐ.HomeViewModel์ HomeRepository๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํ import๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์ํคํ ์ฒ ๋ณ๊ฒฝ์ ์ผ๋ถ๋ก ์ ์ ํฉ๋๋ค.
82-82: HomeViewModelFactory ์์ฑ์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ.HomeViewModelFactory ์์ฑ์์ homeRepository๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋ณ๊ฒฝ์ AI ์์ฝ์์ ์ธ๊ธ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ API ๋ณ๊ฒฝ์ ๋ง์ถฐ ์ ์ ํ๊ฒ ์์ ๋์์ต๋๋ค.
app/src/main/res/layout/item_yesterday_option_three.xml (1)
1-81: ์๋ก์ด ๋ ์ด์์ ํ์ผ์ด ์ ๊ตฌ์ฑ๋์์ต๋๋ค."์ด์ ์ ์นด๋" ๊ธฐ๋ฅ์ ์ํ ์ธ ๊ฐ์ง ์ ํ์ง๋ฅผ ํ์ํ๋ ๋ ์ด์์์ด ์ ๊ตฌํ๋์์ต๋๋ค. ๋ ์ด์์ ๊ตฌ์กฐ์ ์คํ์ผ๋ง์ด ์ผ๊ด๋๊ฒ ์ ์ฉ๋์์ต๋๋ค.
app/src/main/res/layout/item_yesterday_option_two.xml (1)
1-65: ์๋ก์ด ๋ ์ด์์ ํ์ผ์ด ์ ๊ตฌ์ฑ๋์์ต๋๋ค."์ด์ ์ ์นด๋" ๊ธฐ๋ฅ์ ์ํ ๋ ๊ฐ์ง ์ ํ์ง๋ฅผ ํ์ํ๋ ๋ ์ด์์์ด ์ ๊ตฌํ๋์์ต๋๋ค. ๋ ์ด์์ ๊ตฌ์กฐ์ ์คํ์ผ๋ง์ด ์ผ๊ด๋๊ฒ ์ ์ฉ๋์์ต๋๋ค.
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/emotionstamp/HomeOptionFragment.kt (2)
22-22: HomeRepository ์์กด์ฑ ์ถ๊ฐ.HomeViewModel์ HomeRepository๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํ import๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์ํคํ ์ฒ ๋ณ๊ฒฝ์ ์ผ๋ถ๋ก ์ ์ ํฉ๋๋ค.
66-67: HomeViewModelFactory ์์ฑ์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ.HomeViewModelFactory ์์ฑ์์ homeRepository๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋ณ๊ฒฝ์ AI ์์ฝ์์ ์ธ๊ธ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ API ๋ณ๊ฒฝ์ ๋ง์ถฐ ์ ์ ํ๊ฒ ์์ ๋์์ต๋๋ค.
Also applies to: 73-74
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/mypage/ProfileFragment.kt (1)
23-23: HomeRepository ์์กด์ฑ ์ถ๊ฐ ๊ตฌํ์ด ์ ์ ํฉ๋๋ค.
HomeRepository๋ฅผ ๊ฐ์ ธ์ViewModelFactory์ ์ ๋ฌํ๋ ๋ฐฉ์์ด ์ผ๊ด์ ์ผ๋ก ๊ตฌํ๋์์ต๋๋ค. ์ด๋ ๋ค๋ฅธ ํ๋๊ทธ๋จผํธ๋ค๊ณผ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ์ข์ ํจํด์ ๋๋ค.Also applies to: 67-67, 73-73
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/onboarding/SignupNicknameFragment.kt (1)
19-19: SignupNicknameFragment์ HomeRepository ์ฃผ์ ์ด ์ ์ ํ๊ฒ ๊ตฌํ๋์์ต๋๋ค.ํ์๊ฐ์ ํ๋ฉด์์
HomeRepository๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฒ์์๋ ์๋ฌธ์ค๋ฌ์ธ ์ ์์ง๋ง,HomeViewModel์ด ์ฌ๋ฌ ํ๋๊ทธ๋จผํธ์์ ๊ณต์ ๋๋ ๊ตฌ์กฐ์ ์ผ๊ด๋ ์์กด์ฑ ์ฃผ์ ํจํด์ ๋ฐ๋ฅด๊ณ ์์ด ์ ์ ํฉ๋๋ค.Also applies to: 51-51, 55-55
app/src/main/java/com/toyou/toyouandroid/data/home/dto/response/YesterdayCardResponse.kt (1)
1-29: YesterdayCard ๊ด๋ จ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์ ๊ตฌํ๋์์ต๋๋ค.์ ๋ ์นด๋ ๊ธฐ๋ฅ์ ์ํ ๋ฐ์ดํฐ ํด๋์ค๋ค์ด ๋ช ํํ๊ฒ ์ ์๋์ด ์์ผ๋ฉฐ, JSON ์ง๋ ฌํ๋ฅผ ์ํ
@SerializedName์ด๋ ธํ ์ด์ ์ด ์ ์ ํ ์ฌ์ฉ๋์์ต๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๊ณ์ธต์ ์ผ๋ก ์ ์ค๊ณ๋์ด ์์ต๋๋ค.app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetAdapter.kt (8)
3-3: ํจํค์ง ๋ฐ ๋ฆฌ์์ค ์ํฌํธ ๋ณ๊ฒฝ๊ธฐ์กด ์ํฌํธ์ ์ถ๊ฐ๋
android.graphics.Color์R๋ฆฌ์์ค๋ ๊ฐ์ ์ํ์ ๋ฐ๋ฅธ UI ์์ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ถ๊ฐ๋์์ต๋๋ค.Also applies to: 8-8
10-10: ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ
DiaryCard์์YesterdayCard๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์ฑ ์ ์ฒด์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ์ ์ ํ ์์ ์ ๋๋ค.
14-14: ์ด๋ํฐ ์์ฑ์ ํ๋ผ๋ฏธํฐ ํ์ ๋ณ๊ฒฝ
MutableList<DiaryCard>์์MutableList<YesterdayCard>๋ก ๋ณ๊ฒฝ๋์ด ์๋ก์ด ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
35-35: ๋ฐ์ธ๋ฉ ๋ฉ์๋ ํ๋ผ๋ฏธํฐ ํ์ ๋ณ๊ฒฝ
bind๋ฉ์๋์ ํ๋ผ๋ฏธํฐ ํ์ ์ดDiaryCard์์YesterdayCard๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
38-38: ์ด๋ํฐ ๋ฐ์ดํฐ ์ค์ ๋ณ๊ฒฝ
HomeBottomSheetCardDetailAdapter์YesterdayCard์์ดํ ์ ์ ๋ฌํ๋๋ก ์์ ๋์์ต๋๋ค.
43-43: ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋ฐ ํด๋ฆญ ์ด๋ฒคํธ ์ฒ๋ฆฌ ์์
item์ ๋ฐ์ธ๋ฉํ๊ณ ํด๋ฆญ ์ด๋ฒคํธ์์cardId๋ฅผ ์ ์๋ก ๋ณํํ์ฌ ์ ๋ฌํ๋๋ก ์์ ๋์์ต๋๋ค. ๋ฐ์ดํฐ ํ์ ๋ณ๊ฒฝ์ ๋ง๊ฒ ์ ์ ํ ์์ ๋์์ต๋๋ค.Also applies to: 48-49
51-56: UI ์์ ํ ์คํธ ์ค์ ์ถ๊ฐ
YesterdayCard์cardContent์์ฑ์ ํ์ฉํ์ฌ UI ์์์ ํ ์คํธ ๊ฐ์ ์ค์ ํ๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๋ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ์ ์ ํ ๊ฐ์ ์ ๋๋ค.
57-82:Details
โ Verification successful
๊ฐ์ ์ํ์ ๋ฐ๋ฅธ UI ์ฒ๋ฆฌ ์ถ๊ฐ
๊ฐ์ ์ํ(
emotion)์ ๋ฐ๋ผ ์ด๋ฏธ์ง ๋ฆฌ์์ค์ ๋ฐฐ๊ฒฝ์์ ๋ค๋ฅด๊ฒ ์ค์ ํ๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ์ข์ ๊ฐ์ ์ ์ ๋๋ค.์ฃผ์์ "์์๋ก ๊ฐ์ ์ด null์ผ๋..์ผ์๋ ์์ง๋ง"์ด๋ผ๊ณ ๋ช ์๋์ด ์๋๋ฐ, ์ค์ ๋ก null ๊ฐ์ด ์ ๋ฌ๋์ง ์๋๋ก ์์ ๋ก์ง์์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๐ Script executed:
#!/bin/bash # YesterdayCard์์ emotion์ด null์ธ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฝ๋๊ฐ ์๋์ง ํ์ธ rg -A 2 $'emotion[^a-zA-Z0-9].*null' --glob "*.kt"Length of output: 1931
์ ๋ฐ์ดํธ๋ ๊ฐ์ ์ฒ๋ฆฌ ๋ก์ง ํ์ธ โ ์์ ๋ก์ง์ null ์ฒ๋ฆฌ ๊ฒ์ฆ
- ํ์ฌ HomeBottomSheetAdapter์์๋ ๊ฐ์ ์ํ์ ๋ฐ๋ผ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์์ ๋ค๋ฅด๊ฒ ์ ์ฉํ๋ฉฐ,
else๋ถ๊ธฐ๋ฅผ ํตํด ์์์น ๋ชปํ ์ ๋ ฅ(์: null)์ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค.- ๊ฒ์ฆ ๊ฒฐ๊ณผ, ์์ ๋ก์ง(HomeFragment, NoticeFragment, HomeOptionFragment ๋ฑ)์์ ์ด๋ฏธ ๊ฐ์ ๊ฐ์ด null์ด ์ ๋ฌ๋์ง ์๋๋ก ํ์ธํ๋ ์ฝ๋๊ฐ ๊ตฌํ๋์ด ์์์ ํ์ธํ์ต๋๋ค.
- ๋ค๋ง, null ๊ฐ์ด ์ ํ ๋ฐ์ํ์ง ์๋๋ก ์์ ๋ก์ง์์์ ๊ฒ์ฆ์ด ํ์คํ๊ฒ ์ด๋ฃจ์ด์ง๊ณ ์๋์ง ๋ค์ ํ ๋ฒ ํ์ธํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
app/src/main/res/layout/item_home_bottom_sheet.xml (7)
10-10: ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋ณ์ ํ์ ๋ณ๊ฒฝ
item_home_bottom_sheet๋ณ์์ ํ์ ์ดDiaryCard์์YesterdayCard๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์ฑ ์ ์ฒด์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ํ์ํ ์์ ์ ๋๋ค.
22-22: ์นด๋๋ทฐ ๋ ์ด์์ ๋์ด ๋ณ๊ฒฝ
CardView์ ๋์ด๊ฐmatch_parent์์ ๊ณ ์ ๊ฐ260dp๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์ผ๊ด๋ UI ๋ ์ด์์์ ์ ๊ณตํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ผ๋ก ๋ณด์ ๋๋ค.
34-35: RelativeLayout ๋ง์ง ์์
RelativeLayout์ ์๋จ ๋ง์ง์ด ๊ฐ์๋๊ณ ์์ ๋ฐ ๋ ๋ง์ง์ด ์ ๊ฑฐ๋์์ต๋๋ค. ์ด๋ ์ปจํ ์ธ ์ ๊ฐ๊ฒฉ์ ์ต์ ํํ๊ธฐ ์ํ UI ์กฐ์ ์ ๋๋ค.
39-43: ์ด๋ฏธ์ง๋ทฐ ํฌ๊ธฐ ๋ฐ ๋ง์ง ๋ณ๊ฒฝ
ImageView์ ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ๊ฐ์ํ๊ณ ๋ง์ง ๊ฐ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์ ์ฒด์ ์ธ ๋์์ธ ๊ฐ์ ์์ ์ ์ผ๋ถ๋ก ๋ณด์ ๋๋ค.
51-52: ํ ์คํธ๋ทฐ ๋ง์ง ์กฐ์
item_title๊ณผitem_detailํ ์คํธ๋ทฐ์ ์์ ๋ง์ง์ด ๋ฏธ์ธ ์กฐ์ ๋์์ต๋๋ค. ๋ ์ด์์์ ์ผ๊ด์ฑ์ ๋์ด๊ธฐ ์ํ ๋ณ๊ฒฝ์ ๋๋ค.Also applies to: 63-64
74-77: RecyclerView ๋ง์ง ์กฐ์
RecyclerView์ ๋ง์ง ๊ฐ์ด ์กฐ์ ๋์์ต๋๋ค. ์ด๋ ๋ด๋ถ ์์๋ค์ ๋ฐฐ์น๋ฅผ ์ต์ ํํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ผ๋ก ๋ณด์ ๋๋ค.
103-103: ์น๊ตฌ ๋๋ค์ ํ ์คํธ ์์ฑ ๋ฐ ์ ์ฝ ๋ณ๊ฒฝ
friend_nicknameํ ์คํธ๋ทฐ์ ๊ธฐ๋ณธ ํ ์คํธ "๋๋ค์"์ด ์ถ๊ฐ๋์๊ณ , ์ ์ฝ ์ฐธ์กฐ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ UI์ ๊ธฐ๋ณธ ์ํ๋ฅผ ๊ฐ์ ํ๊ณ ์ ์ฝ ์กฐ๊ฑด์ ๋ช ํํ ํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ ๋๋ค.Also applies to: 106-106
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt (3)
6-7: ํ์ ํจํค์ง ์ํฌํธ ์ถ๊ฐ
viewModelScope,YesterdayCard,HomeRepository, ์ฝ๋ฃจํด ๊ด๋ จ ์ํฌํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์๋ก์ด ๋น๋๊ธฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ์ํ ํ์ ์์์ ๋๋ค.Also applies to: 12-14, 16-16, 21-21
23-24: ์์ฑ์ ๋งค๊ฐ๋ณ์ ๋ณ๊ฒฝ
HomeRepository๊ฐ ์์ฑ์ ๋งค๊ฐ๋ณ์๋ก ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์์กด์ฑ ์ฃผ์ ํจํด์ ๋ฐ๋ฅด๋ฉฐ, ๋ฐ์ดํฐ ์ ๊ทผ ๊ณ์ธต๊ณผ ๋ทฐ๋ชจ๋ธ ๊ณ์ธต์ ๋ถ๋ฆฌํ๋ ์ข์ ์ํคํ ์ฒ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
47-48: ์ด์ ์ ์นด๋ ๋ฐ์ดํฐ๋ฅผ ์ํ LiveData ์ถ๊ฐ
_yesterdayCardsMutableLiveData์ ํด๋น ์ ๊ทผ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ UI ๊ณ์ธต์์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๊ด์ฐฐํ ์ ์๋๋ก ํ๋ ์ข์ ํจํด์ ๋๋ค.app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeFragment.kt (6)
22-23: ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ์ํฌํธ ๋ณ๊ฒฝ
DiaryCard์์YesterdayCard๋ก ๋ณ๊ฒฝ๋๊ณHomeRepository์ํฌํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ์ฑ ์ ์ฒด์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ๊ณผ ๋ฆฌํฌ์งํ ๋ฆฌ ํจํด ์ ์ฉ์ ๋ฐ๋ฅธ ํ์ํ ์์ ์ ๋๋ค.Also applies to: 30-31
81-81: HomeRepository ์ธ์คํด์ค ์์ฑ
HomeRepository์ธ์คํด์ค๊ฐ ์ด๊ธฐํ๋์์ต๋๋ค. ์ด๋ ๋ทฐ๋ชจ๋ธ์ ๋ฐ์ดํฐ ์ก์ธ์ค ๋ ์ด์ด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ์ ์ ํ ์ถ๊ฐ์ ๋๋ค.
91-91: HomeViewModelFactory ํ๋ผ๋ฏธํฐ ๋ณ๊ฒฝ
HomeViewModelFactory์homeRepository๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ๋ทฐ๋ชจ๋ธ ์์ฑ์ ๋ณ๊ฒฝ์ ๋ง์ถ ํ์ํ ์์ ์ ๋๋ค.
142-144: ์ด์ ์ ์นด๋ ๋ฐ์ดํฐ ๋ก๋ฉ ๋ฉ์๋ ํธ์ถ
viewModel.getYesterdayCard()๋ฅผ ํธ์ถํ์ฌ ์ด์ ์ ์นด๋ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํฉ๋๋ค. ์ฝ๋ ์ฃผ์์ผ๋ก ์ ํํ ๋ชฉ์ ์ ๋ช ์ํ ๊ฒ์ ์ข์ ๊ดํ์ ๋๋ค.
203-211: LiveData ์ต์ ๋ฒ ๋ณ๊ฒฝ
diaryCards๋์yesterdayCards๋ฅผ ๊ด์ฐฐํ๊ณ , ๋ฐ์ดํฐ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ UI ๊ฐ์์ฑ์ ์กฐ์ ํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ํ์ํ ์์ ์ ๋๋ค.
319-319: RecyclerView ์ค์ ๋ฉ์๋ ํ๋ผ๋ฏธํฐ ํ์ ๋ณ๊ฒฝ
setupRecyclerView๋ฉ์๋์ ํ๋ผ๋ฏธํฐ ํ์ ์ดList<DiaryCard>์์List<YesterdayCard>๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณ๊ฒฝ์ ๋ง์ถ ํ์ํ ์์ ์ ๋๋ค.app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/adapter/HomeBottomSheetCardDetailAdapter.kt (24)
9-10: [Import ๊ด๋ จ ์ถ๊ฐ]
YesterdayCard์YesterdayCardQuestion์ importํ์ฌ ์๋ก์ด DTO์ ๋์ํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ ๋๋ค. ๋ณ๋ค๋ฅธ ๋ฌธ์ ๋ ์์ด ๋ณด์ด๋ฉฐ, ์ด๋ํฐ ๋ด ๋ก์ง๊ณผ ์ ์ฐ๋๋ฉ๋๋ค.
19-21: [์ด๋ํฐ ์ํ ๋ณ์ ์ถ๊ฐ]
questionList,emotionMap,questionToCardMap๋ฅผ ํตํด ์นด๋-์ง๋ฌธ-๊ฐ์ ์ ๋ณด๋ฅผ ๋ถ๋ฆฌํด ๋์ด ๊ฐ๋ ์ฑ์ด ํฅ์๋์์ต๋๋ค. ๋ณ๋ค๋ฅธ ๋ฌธ์ ์์ด ์ ์ฉํ๊ฒ ๋ณด์ ๋๋ค.
23-35: [setCards ๋ฉ์๋ ๊ตฌํ ์ ๊ฒ]
newCards์์ ์ง๋ฌธ ๋ชฉ๋ก, ๊ฐ์ , ์นด๋-์ง๋ฌธ ๋งคํ์ ๊ฐ๊ฐ ์ถ์ถํ๊ณnotifyDataSetChanged()๋ก ๊ฐฑ์ ํ๋ ๋ก์ง์ด ์ ์ ํด ๋ณด์ ๋๋ค. ๋ค๋ง, ๋ฐ์ดํฐ ๊ท๋ชจ๊ฐ ์ปค์ง ๊ฒฝ์ฐ ์ ์ฒด ๊ฐฑ์ ๋์ ๋ถ๋ถ ๊ฐฑ์ ์ ๊ณ ๋ คํด๋ณผ ์ ์์ต๋๋ค.
46-46: [onCreateViewHolder ์ค๋ฒ๋ผ์ด๋ ํ์ธ]
onCreateViewHolder๋ฉ์๋๊ฐ ์ ์์ ์ผ๋ก ์ ์๋์ด ์์ต๋๋ค. ํ์ฌ ๋ฐฉ์์๋ ๋ณ๋ค๋ฅธ ๋ฌธ์ ์ ์ด ์์ด ๋ณด์ ๋๋ค.
49-49: [viewType=1,2 ๋ถ๊ธฐ ์ฒ๋ฆฌ]
LONG_ANSWER,SHORT_ANSWERํ์ ์ ๋์ํ๋ ๋ ์ด์์์ ์ ์์ ์ผ๋ก inflateํ๊ณ ์์ต๋๋ค.
51-51: [์ ๋ ์ด์์ ๋ฆฌ์์ค ์ ์ฉ (item_yesterday_qa)]
R.layout.item_yesterday_qa๋ก ๋ณ๊ฒฝ๋ ์ ์ ํ์ธํ์ต๋๋ค. ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
55-55: [viewType=3 ๋ถ๊ธฐ ์ฒ๋ฆฌ]
OPTIONALํ์ ์ ๋ํ ๋ทฐํ๋ ๋ถ๊ธฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๊ฒฐํ๊ฒ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
57-57: [์ ๋ ์ด์์ ๋ฆฌ์์ค ์ ์ฉ (item_yesterday_option_two)]
๋ ๊ฐ์ ์ ํ์ง๋ฅผ ๊ฐ์ง ์ต์ ๋ ์ด์์์ผ๋ก ๋ณด์ ๋๋ค. ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
63-63: [์ ๋ ์ด์์ ๋ฆฌ์์ค ์ ์ฉ (item_yesterday_option_three)]
์ธ ๊ฐ์ ์ ํ์ง๋ฅผ ๊ฐ์ง ์ต์ ๋ ์ด์์์ผ๋ก ๋ณด์ ๋๋ค. ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
71-78: [onBindViewHolder ๋ด cardId ๋ฐ emotion ์ฐ๋ ํ์ธ]
questionList[position]์์ ์ง๋ฌธ ID๋ฅผ ์ป๊ณ ,questionToCardMap์emotionMap์ ํตํด ์นด๋๋ณ ๊ฐ์ ์ ๊ฐ์ ธ์ค๋ ๊ตฌ์กฐ๊ฐ ์ ์กํ ์์ต๋๋ค. ๊ฐ์ ์ด ์์ ๊ฒฝ์ฐ "ANGRY"๋ก ์ฒ๋ฆฌํ๋ ๊ธฐ๋ณธ๊ฐ ๋ํ ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์ ๋๋ค.
79-82: [item.options!!์ NPE ๊ฐ๋ฅ์ฑ ํ์ธ ์์ฒญ (LONG/SHORT ANSWER)]
์ต์ ๋ฐฐ์ด์ ๊ฐ์ ๋ก ์ธ๋ํ(!!)ํ๊ณ ์์ด,item.options๊ฐ null์ธ ๊ฒฝ์ฐ ๋ฐํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ํธ์ถ๋ถ ํน์ ๋ฐ์ดํฐ ๋ก๋์์ null์ด ๋ฐ์ํ์ง ์๋๋ก ๋ณด์ฅํ๋์ง ํ์ธํด ์ฃผ์ธ์.
84-88: [item.options!!์ NPE ๊ฐ๋ฅ์ฑ ํ์ธ ์์ฒญ (OPTIONAL 2๊ฐ ์ต์ )]
๋ ๊ฐ ์ต์ ์ ์ฌ์ฉํ๋OPTIONAL์ ํ์์๋ ๋์ผํ๊ฒ ๊ฐ์ ์ธ๋ํ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ํญ์ null์ด ์๋์ ๋ณด์ฅํ๊ฑฐ๋, ์์ ํ ์ฒ๋ฆฌ๋ก ๋ฐฉ์ด ๋ก์ง์ ๊ฐํํด ์ฃผ์ธ์.
91-94: [item.options!!์ NPE ๊ฐ๋ฅ์ฑ ํ์ธ ์์ฒญ (๊ธฐํ ELSE ๋ถ๊ธฐ)]
3๊ฐ ์ด์์ ์ ํ(ELSE)์์๋item.options!!๋ฅผ ์ฌ์ฉํ๋ ๋์ผํ ๋ก์ง์ด ์กด์ฌํฉ๋๋ค. ์์ธ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํด์ผ ํ๋ฉฐ, ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋์ง ์๋์ง ์ฌํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
99-100: [getItemCount ๊ตฌํ]
questionList.size๋ฅผ ๋ฐํํ๋ ๊ฐ๋จํ ๋ฉ์๋๋ก, ๋ณ๋ค๋ฅธ ๋ฌธ์ ๋ ์์ด ๋ณด์ ๋๋ค.
101-101: [MultiViewHolderPreview1 ๋ด๋ถ ํด๋์ค ์ ์ธ]
ํ ์คํธ ํํ์ ์ง๋ฌธ/๋ต๋ณ์ ๋จ์ ๋ฐ์ธ๋ฉํ๋ ๋ทฐํ๋๋ก ๋ณด์ด๋ฉฐ, ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์์ ์ด์์ ์์ด ๋ณด์ ๋๋ค.
111-111: [MultiViewHolderPreview3 ๋ด๋ถ ํด๋์ค ์ ์ธ]
๋ ์ต์ ์ ์ฒ๋ฆฌํ๋ ๋ทฐํ๋๋ฅผ ์ถ๊ฐํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๋ณ๋ค๋ฅธ ๋ฌธ์ ์์ด ์ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
116-116: [bind ๋ฉ์๋์ emotion ํ๋ผ๋ฏธํฐ ์ถ๊ฐ]
MultiViewHolderPreview3์bindํจ์์์ ๊ฐ์ ์ ํ์ฉํ ์ ์๊ฒ ๋ ์ ์ด ์์ฐ์ค๋ฝ์ต๋๋ค. ๊ตฌํ ๊ตฌ์กฐ์ ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
121-122: [applyEmotionStyle ํธ์ถ ์ NPE ๊ฐ๋ฅ์ฑ]
item.options[0],item.options[1]๊ฐ์ ์ธ๋ํ ์ฌ์ฉ์ NPE๊ฐ ๋ฐ์ํ ์ฌ์ง๋ฅผ ๋จ๊ธธ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ํญ์ ์ ํจํจ์ ๋ณด์ฅํ๋์ง ์ ๊ฒํด ๋ณด์ธ์.
126-126: [MultiViewHolderPreview4 ๋ด๋ถ ํด๋์ค ์ ์ธ]
์ธ ๊ฐ์ ์ต์ ์ ํ์ํ๋ ๋ทฐํ๋ ๊ตฌ์กฐ์ด๋ฉฐ, ๋ณ๊ฒฝ ์ฌํญ ์ ํน๋ณํ ์ด์๋ ์์ด ๋ณด์ ๋๋ค.
132-132: [bind ๋ฉ์๋์ emotion ํ๋ผ๋ฏธํฐ ์ถ๊ฐ (MultiViewHolderPreview4)]
OPTIONAL์ ํ์ด 3๊ฐ ์ต์ ์ ๊ฐ์ง ๋ ๊ฐ์ ์ ๋ฐ์ํ ์ ์๊ฒ ๋์ด ์์ต๋๋ค. ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
138-141: [applyEmotionStyle ํธ์ถ ์ NPE ๊ฐ๋ฅ์ฑ (3๊ฐ ์ต์ )]
item.options!!์์ ์ฌ๋ฌ ์ธ๋ฑ์ค๋ฅผ ์ฐธ์กฐํ๋ฏ๋ก, ๋ฐ์ดํฐ ๋ถ์ผ์น ์ ๋ฐํ์ ์์ธ ์ํ์ด ์์ต๋๋ค. ๋ฐ์ดํฐ ์๋ฅผ ์ฌ์ ์ ๊ฒ์ฆํ๊ฑฐ๋ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
144-152: [applyEmotionStyle - ๊ฐ์ ๋ณ ๋ฐฐ๊ฒฝ ์ฒ๋ฆฌ ๋ก์ง]
๊ฐ์ ์ฝ๋์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐฐ๊ฒฝ ๋ฆฌ์์ค๋ฅผ ์ ์ฉํ๋ ๋ถ๋ถ์ ๊ฐ๋ ์ฑ์ด ์ข์ต๋๋ค. ์ ์๋ ๊ฐ์ ์ธ ๋ฌธ์์ด์ด ๋ค์ด์ฌ ๋์ ์ฒ๋ฆฌ(search_container)๋ ์ค์ ๋์ด ์์ด ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
154-155: [applyEmotionStyle - ์ ํ๋์ง ์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ]
์ต์ ์ด ์ ํ๋์ง ์์์ ์search_container๋ก ์ค์ ํ๋ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ช ํํฉ๋๋ค.
167-167: [๋ง๋ฌด๋ฆฌ ์ค๊ดํธ ๋ผ์ธ]
ํ์ผ ์ข ๋ฃ ์์ ์ ์ค๊ดํธ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค. ํน๋ณํ ์ด์๋ ์์ด ๋ณด์ ๋๋ค.
app/src/main/java/com/toyou/toyouandroid/presentation/fragment/home/HomeViewModel.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
๐งน Nitpick comments (1)
.github/workflows/android_cd.yml (1)
68-69: ๋๋ฒ๊ทธ ๋จ๊ณ ์ฃผ์
Debug Local Properties๋จ๊ณ์์local.propertiesํ์ผ์ ๋ด์ฉ์ ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ํด๋น ํ์ผ์ ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ผ๋ฏ๋ก, QA ๊ฒ์ฆ ํ์๋ ์ด ๋จ๊ณ์ ์คํ์ ์ ํํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๋ฐฉ์์ ๊ณ ๋ คํด ์ฃผ์ธ์.
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(3 hunks)
โฐ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Continuous Deployment
๐ Additional comments (5)
.github/workflows/android_cd.yml (5)
6-6: ๋ธ๋์น ํธ๋ฆฌ๊ฑฐ ์ ๋ฐ์ดํธ ํ์ธ
push ์ด๋ฒคํธ์ ๋ธ๋์น๊ฐrelease/1.1.0๋ก ๋ณ๊ฒฝ๋์ด, ํด๋น CI/CD ํ์ดํ๋ผ์ธ์ด ์๋ก์ด ๋ฆด๋ฆฌ์ฆ ์กฐ๊ฑด์ ๋ง๊ฒ ๋์ํ๋๋ก ์์ ๋์์ต๋๋ค.
18-18: ์๋ก์ด ํ๊ฒฝ๋ณ์ ์ถ๊ฐ ํ์ธ
LOCAL_PROPERTIES_CONTENTSํ๊ฒฝ๋ณ์๊ฐ ์ถ๊ฐ๋์ด, local.properties ํ์ผ ์์ฑ ์ ํ์ํ ์ค์ ๊ฐ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
24-25: Checkout ๋จ๊ณ ๊ฐ์
with์ ์ref: ${{ github.head_ref }}๊ฐ ์ถ๊ฐ๋์ด PR์ด ์ด๋ฆด ๋ ์ฌ๋ฐ๋ฅธ ๋ธ๋์น์ ์ฝ๋๋ฅผ ์ฒดํฌ์์ํ ์ ์๊ฒ ๋์์ต๋๋ค.
64-65: ๋ก์ปฌ ํ๋กํผํฐ ์ค์ ๋ฐฉ์ ๊ฐ์
$LOCAL_PROPERTIES_CONTENTS๋ฅผ ์ฌ์ฉํ์ฌlocal.propertiesํ์ผ์ ์์ฑํ๊ณ ,SIGNED_STORE_FILE=keystore.jks๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ด ์๋ํ ๋๋ก ๋์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
95-95: Firebase ์ฑ ๋ฐฐํฌ ๊ทธ๋ฃน ์ ๋ฐ์ดํธ
๋ฐฐํฌ ๋จ๊ณ์groups๊ฐ์ดseungwon์ผ๋ก ๋ณ๊ฒฝ๋์ด, ์ฌ๋ฐ๋ฅธ QA ๊ทธ๋ฃน์ APK๊ฐ ๋ฐฐํฌ๋๋๋ก ์ค์ ๋์์ต๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
๐งน Nitpick comments (1)
.github/workflows/android_cd.yml (1)
67-70: ๋๋ฒ๊ทธ ๋จ๊ณ ๋์ ์ฃผ์
"Debug Local Properties" ๋จ๊ณ๊ฐ ์ถ๊ฐ๋์ดlocal.propertiesํ์ผ์ ๋ด์ฉ์ด ์ถ๋ ฅ๋ฉ๋๋ค. ์ด๋ ๋๋ฒ๊น ์๋ ์ ์ฉํ์ง๋ง, ๋ง์ฝ ํ์ผ ๋ด์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์๋ค๋ฉด CI ๋ก๊ทธ๋ฅผ ํตํด ๋ ธ์ถ๋ ์ํ์ด ์์ผ๋ฏ๋ก, ํ์์ ํด๋น ๋จ๊ณ์ ์ฌ์ฉ ์ฌ๋ถ ๋ฐ ์ถ๋ ฅ ๋ด์ฉ์ ์ฌ๊ฒํ ํ์๊ธฐ ๋ฐ๋๋๋ค.
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(4 hunks)
โฐ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Continuous Deployment
๐ Additional comments (6)
.github/workflows/android_cd.yml (6)
4-7: ๋ธ๋์น ํธ๋ฆฌ๊ฑฐ ์ ๋ฐ์ดํธ ํ์ธ
ํธ์ ์ด๋ฒคํธ์ ๋ํด ์ด์ "release/1.1.0" ๋ธ๋์น์์๋ง ์ํฌํ๋ก์ฐ๊ฐ ์คํ๋๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์ ๋ฆด๋ฆฌ์ฆ ์ ์ฑ ๋ฐ CI/CD ํ์ดํ๋ผ์ธ ์๋ํ๋ฅผ ์ํด ์ ์ ํด ๋ณด์ ๋๋ค.
16-19: ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ ๊ฒํ
์๋ก์ด ํ๊ฒฝ ๋ณ์LOCAL_PROPERTIES_CONTENTS๊ฐ ์ถ๊ฐ๋์ด CI/CD ๊ณผ์ ์ค ๋์ ์ผ๋ก ๋ก์ปฌ ํ๋กํผํฐ ํ์ผ์ ๊ตฌ์ฑํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด ๋ณ์์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋๋ค๋ฉด, ์ ๊ทผ ์ ํ ๋ฐ ๋ก๊ทธ ๋ ธ์ถ ๊ด๋ฆฌ์ ์ ์ํด ์ฃผ์ธ์.
22-26: PR ๋ธ๋์น ์ฒดํฌ์์ ๊ฐ์
"Checkout code" ๋จ๊ณ์with: ref: ${{ github.head_ref }}๊ฐ ์ถ๊ฐ๋์ด PR์ด ์์ฑ๋ ๋ธ๋์น๊ฐ ์ ํํ๊ฒ ์ฒดํฌ์์๋ฉ๋๋ค. ์ด๋ ์ฌ๋ฐ๋ฅธ ๋น๋ ํ๊ฒฝ์ ๋ณด์ฅํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
52-54: ํค์คํ ์ด ํ์ผ๋ช ์์ ๊ฒํ
"Decode And Save Keystore Base64" ๋จ๊ณ์์ ์ถ๋ ฅ ํ์ผ ์ด๋ฆ์ดkey.jks๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋น๋ ์ค์ ๋ฐ ๊ด๋ จ ๋ฌธ์์์ ์ด ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์๋์๋์ง ํ์ธ ๋ฐ๋๋๋ค.
61-66: ๋ก์ปฌ ํ๋กํผํฐ ์ค์ ์ ๋ฐ์ดํธ
"Add Local Properties" ๋จ๊ณ์์$LOCAL_PROPERTIES_CONTENTS๋ฅผ ์ด์ฉํ์ฌlocal.propertiesํ์ผ์ ์์ฑํ๊ณ ,SIGNED_STORE_FILE=key.jksํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์์ ๋์์ต๋๋ค. ์ด ๋ฐฉ์์ ํค์คํ ์ด ํ์ผ ์ ๋ณด๋ฅผ ๋น๋ ์ ์ฐธ์กฐํ ์ ์๋๋ก ํด์ฃผ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
89-97: Firebase App Distribution ๊ทธ๋ฃน ๋ณ๊ฒฝ ํ์ธ
"Upload to Firebase App Distribution" ๋จ๊ณ์์ ํ ์คํธ ๊ทธ๋ฃน์ดseungwon์ผ๋ก ์ค์ ๋์์ต๋๋ค. ์ด ์์ ์ด ์๋ํ QA ๊ทธ๋ฃน๊ณผ ์ผ์นํ๋์ง, ์ค์ ๋ฐฐํฌ ๋์์ด ์ ํํ์ง ์ต์ข ํ์ธ ๋ฐ๋๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
๐งน Nitpick comments (1)
.github/workflows/android_cd.yml (1)
68-69: ๋๋ฒ๊ทธ ์คํ ์ฃผ์
local.propertiesํ์ผ์ ๋ด์ฉ์ ์ถ๋ ฅํ๋ ๋๋ฒ๊ทธ ์คํ ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ํ์ผ์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ผ๋ฏ๋ก, QA๋ ๋ด๋ถ ๋๋ฒ๊น ์ด ์๋ฃ๋ ํ์๋ ํด๋น ์คํ ์ ์ ๊ฑฐํ๊ฑฐ๋ ์ ๊ทผ ์ ํ ์ค์ ์ ๊ฒํ ํ๋ ๊ฒ์ด ์ข๊ฒ ์ต๋๋ค.
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(4 hunks)
โฐ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Continuous Deployment
๐ Additional comments (8)
.github/workflows/android_cd.yml (8)
6-6: ๋ธ๋์น ํธ๋ฆฌ๊ฑฐ ๋ณ๊ฒฝ ํ์ธ
push ์ด๋ฒคํธ์ ๋ธ๋์น๊ฐ ์ด์ release/1.1.0์ผ๋ก ์ค์ ๋์์ต๋๋ค. ์ด ๋ณ๊ฒฝ์ด ๋ฆด๋ฆฌ์ค ์ ๋ต๊ณผ ์ ํํ ์ผ์นํ๋์ง ๊ฒํ ๋ฐ๋๋๋ค.
17-18: ์ ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ ํ์ธ
LOCAL_PROPERTIES_CONTENTSํ๊ฒฝ ๋ณ์๊ฐ ์ถ๊ฐ๋์ด, ์ดํ ๋ก์ปฌ ํ๋กํผํฐ ํ์ผ ์์ฑ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ํฌ๋ฆฟ ๊ฐ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋ฐ ๊ด๋ฆฌ๋๊ณ ์๋์ง ํ์ธํด ์ฃผ์ธ์.
24-25: ์ฒดํฌ์์ ๋จ๊ณ ๊ฐ์
actions/checkout์คํ ์with: ref: ${{ github.head_ref }}๋ฅผ ์ถ๊ฐํ์ฌ PR ๋ธ๋์น๋ฅผ ์ ํํ๊ฒ ์ฒดํฌ์์ํฉ๋๋ค. ํด๋น ๋ณ๊ฒฝ์ฌํญ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ฉ๋์์ต๋๋ค.
52-53: ํค ์ ์ฅ์ ํ์ผ ์ด๋ฆ ์ ๋ฐ์ดํธ
Keystore Base64 ๋์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐapp/key.jks๋ก ์ ์ฅ๋๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด ์์ ์ดapp/build.gradle.ktsํ์ผ์ ์๋ช ๊ตฌ์ฑ ์ค์ ๊ณผ ์ผ์นํ๋์ง ์ฌํ์ธํด ์ฃผ์ธ์.
63-65: ๋ก์ปฌ ํ๋กํผํฐ ๊ตฌ์ฑ ๋ณ๊ฒฝ
LOCAL_PROPERTIES_CONTENTS๋ฅผ ์ฌ์ฉํ์ฌlocal.propertiesํ์ผ์ด ์์ฑ๋๊ณ ,SIGNED_STORE_FILE=key.jks๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋ฐฉ์์ผ๋ก ์๋ช ๊ด๋ จ ์ค์ ์ ํตํฉ ๊ด๋ฆฌํ ์ ์์ด ์ข์ต๋๋ค.
75-80: AAB ์ํฐํฉํธ ์ ๋ก๋ ๊ฒฝ๋ก ํ์ธ
AAB ํ์ผ์ดapp/build/outputs/bundle/debug/app-debug.aab๊ฒฝ๋ก์์ ์ ๋ก๋๋ฉ๋๋ค. ํ์ผ ๊ฒฝ๋ก์ ์ด๋ฆ์ด ์ ํํ ์์ฑ๋๋์ง ์ต์ข ํ์ธ ๋ฐ๋๋๋ค.
82-87: APK ์ํฐํฉํธ ์ ๋ก๋ ๋จ๊ณ ์ ๊ฒ
APK ํ์ผ์ดapp/build/outputs/apk/debug/app-debug.apk๊ฒฝ๋ก์์ ์ ๋ก๋๋๋๋ก ์ค์ ๋์ด ์์ต๋๋ค. ์ค์ ์ด ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ๋ฐ์๋์๋์ง ํ์ธํด ์ฃผ์ธ์.
89-97: Firebase App Distribution ์ค์ ์ ๋ฐ์ดํธ
Firebase ๋ฐฐํฌ ๋จ๊ณ์์groupsํ๋ผ๋ฏธํฐ๊ฐseungwon์ผ๋ก ๋ณ๊ฒฝ๋์์ผ๋ฉฐ, ์ ๋ก๋ํ APK ํ์ผ ๊ฒฝ๋ก๊ฐ ์ง์ ๋์์ต๋๋ค. ์ด ์ค์ ์ด QA ๋ฐ ์ต์ข ๋ฐฐํฌ ์ ์ฐจ์ ์ผ์นํ๋์ง ๊ฒํ ๋ฐ๋๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
๐งน Nitpick comments (1)
.github/workflows/android_cd.yml (1)
67-70: ๋๋ฒ๊ทธ ๋จ๊ณ ์ฃผ์
๋๋ฒ๊น ์ ์ํดlocal.propertiesํ์ผ์ ๋ด์ฉ์ ์ถ๋ ฅํ๋ ์คํ ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๊ณผ์ ์์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๋ก๊ทธ์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฏ๋ก, ์ค์ ๋ฐฐํฌ ์์๋ ํด๋น ์คํ ์ ์ ๊ฑฐํ๊ฑฐ๋ ์กฐ๊ฑด๋ถ๋ก ์คํํ๋๋ก ์กฐ์นํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(4 hunks)
๐ Additional comments (9)
.github/workflows/android_cd.yml (9)
3-10: ๋ธ๋์น ํธ๋ฆฌ๊ฑฐ ์ ๋ฐ์ดํธ ํ์ธ
ํธ์ ์ด๋ฒคํธ์ ๋ธ๋์น๊ฐ ์ด์ release/1.1.0์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์๋ก์ด ๋ฒ์ ๊ด๋ฆฌ ์ ์ฑ ๋ฐ CI/CD ํ์ดํ๋ผ์ธ๊ณผ ์ผ์นํ๋ฏ๋ก ์ ์ ํด ๋ณด์ ๋๋ค.
16-19: ์๋ก์ด ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ ํ์ธ
env์น์ ์LOCAL_PROPERTIES_CONTENTSํ๊ฒฝ ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์๋ช ํ์ผ ๋ฑ์ ์ถ๊ฐ ์ค์ ์ ํ์ํ ์ ๋ณด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฌ๋๊ณ ์๋์ง ํ์ธํด์ฃผ์ธ์.
22-26: Checkout ์ฝ๋ ๋จ๊ณ ์ ๋ฐ์ดํธ
actions/checkout์คํ ์with๋ธ๋ก์ ํตํดref: ${{ github.head_ref }}๋ฅผ ์ง์ ํจ์ผ๋ก์จ PR ์์ฑ ์ ํด๋น ๋ธ๋์น๋ก ์ฒดํฌ์์ ๋๋๋ก ์ฒ๋ฆฌํ ์ ์ด ์ ์ ํฉ๋๋ค.
51-54: ํค์คํ ์ด ํ์ผ ์ด๋ฆ ์์ ํ์ธ
Base64 ๋์ฝ๋ฉ ๊ฒฐ๊ณผ๋ฅผapp/key.jks์ ์ ์ฅํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ๋น๋ ์คํฌ๋ฆฝํธ์ ์๋ช ๊ด๋ จ ์์ ๊ณผ ์ผ์นํ๋ฉฐ, ์๋ํ ๋๋ก ๋์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
62-66: Local Properties ์ค์ ์ ๋ฐ์ดํธ
Local properties ํ์ผ์ ์์ฑํ ๋, ํ๊ฒฝ ๋ณ์LOCAL_PROPERTIES_CONTENTS์ ๋ด์ฉ์ ๊ธฐ๋กํ ํSIGNED_STORE_FILE=key.jks๋ฅผ ์ถ๊ฐํ๋๋ก ์์ ๋์์ต๋๋ค. ์๋ช ๊ด๋ จ ๊ตฌ์ฑ๊ณผ ์ผ์นํ๋ฉฐ, ๋ฌธ์ ์์ด ๋ณด์ ๋๋ค.
71-74: ๋ฆด๋ฆฌ์ฆ APK ๋น๋ ๋จ๊ณ ๊ฒํ
๋ฆด๋ฆฌ์ฆ APK๋ฅผ ๋น๋ํ๋ ๋จ๊ณ๊ฐ ์ ์์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๋ณ๊ฒฝ ์์ด ๊ธฐ์กด ๋น๋ ํ๋ก์ธ์ค๋ฅผ ๊ทธ๋๋ก ์ ์งํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
75-81: AAB ์ํฐํฉํธ ์ ๋ก๋ ๋จ๊ณ ํ์ธ
AAB ํ์ผ ์ ๋ก๋ ์คํ ์ด ์ ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ ์ง์ ๋ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋๊ณ ์์ต๋๋ค.
82-88: APK ์ํฐํฉํธ ์ ๋ก๋ ๋จ๊ณ ํ์ธ
APK ํ์ผ ์ ๋ก๋ ์คํ ์ญ์ ์ ์์ ์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค. ์ด ๋จ๊ณ์์ ๋ณ๋์ ์ด์๋ ๋ณด์ด์ง ์์ต๋๋ค.
89-97: Firebase ๋ฐฐํฌ ๋์ ๊ทธ๋ฃน ์ ๋ฐ์ดํธ ํ์ธ
Firebase App Distribution ์คํ ์์groupsํ๋ผ๋ฏธํฐ๊ฐseungwon์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ๋ฐฐํฌ ๋์ ๊ทธ๋ฃน์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, QA ํ์ ํ์ธ ํ ์ต์ข ๋ฐฐํฌ ์ค๋น์ ์ ํฉํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
๐ญ Outside diff range comments (1)
.github/workflows/android_cd.yml (1)
112-117:โ ๏ธ Potential issueDiscord ์๋ฆผ ์คํ ์ค๋ณต URL ์ ๋ฌ ๋ฌธ์
Notify Discord์คํ ์์ curl ๋ช ๋ น์ด์$DISCORD_WEBHOOK_URL์ด ์ค๋ณต์ผ๋ก ์ ๋ฌ๋๊ณ ์์ต๋๋ค. URL์ ํ ๋ฒ๋ง ์ธ์๋ก ๋๊ฒจ์ผ ํ๋ฏ๋ก ์ค๋ณต๋ ๋ถ๋ถ์ ์ ๊ฑฐํด ์ฃผ์ธ์.
์์ diff:- $DISCORD_WEBHOOK_URL - $DISCORD_WEBHOOK_URL + $DISCORD_WEBHOOK_URL
๐งน Nitpick comments (2)
.github/workflows/android_cd.yml (2)
68-69: ๋๋ฒ๊ทธ ์คํ ์ฃผ์
Debug Local Properties์คํ ์์cat local.properties๋ช ๋ น์ด๋ก ํ์ผ ๋ด์ฉ์ ์ถ๋ ฅํ๋๋ก ํ ์ ์ ๋๋ฒ๊น ์ ์ ์ฉํ์ง๋ง, CI/CD ๋ก๊ทธ์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๋ ธ์ถ๋ ์ ์์ผ๋ฏ๋ก ํ๋ก๋์ ํ๊ฒฝ์์๋ ์กฐ๊ฑด๋ถ ์คํํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๊ฒ์ ๊ณ ๋ คํด ์ฃผ์ธ์.
106-106: ๋ถํ์ํ ๊ณต๋ฐฑ ์ ๊ฑฐ ํ์๋ผ์ธ 106์ ๋ถํ์ํ ๊ณต๋ฐฑ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. YAML ํ์ผ์ ๊ฐ๋ ์ฑ์ ์ํด ํด๋น ๊ณต๋ฐฑ์ ์ ๊ฑฐํด ์ฃผ์ธ์.
๐งฐ Tools
๐ช YAMLlint (1.35.1)
[error] 106-106: trailing spaces
(trailing-spaces)
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(3 hunks)
๐งฐ Additional context used
๐ช YAMLlint (1.35.1)
.github/workflows/android_cd.yml
[error] 106-106: trailing spaces
(trailing-spaces)
๐ Additional comments (7)
.github/workflows/android_cd.yml (7)
16-18: ํ๊ฒฝ๋ณ์ 'LOCAL_PROPERTIES_CONTENTS' ์ถ๊ฐ ํ์ธ์๋กญ๊ฒ ์ถ๊ฐ๋
LOCAL_PROPERTIES_CONTENTS๋ณ์๋ ๋ก์ปฌ ํ๋กํผํฐ ํ์ผ ์์ฑ์ ์ฌ์ฉ๋ฉ๋๋ค. ํ๊ฒฝ ์ค์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ด๋ฃจ์ด์ก๋์ง ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
24-25: Checkout ์ฝ๋ ์ ๋ฐ์ดํธ
actions/checkout์คํ ์์with๋ธ๋ก์ ์ฌ์ฉํ์ฌref: ${{ github.head_ref }}๋ก PR์ด ์ด๋ฆฐ ๋ธ๋์น๋ฅผ ์ฒดํฌ์์ํ๋๋ก ๋ณ๊ฒฝํ ์ ์ ์ข์ต๋๋ค. ํด๋น ์ค์ ์ด ์๋ํ ๋ธ๋์น๋ฅผ ์ ํํ ๊ฐ๋ฆฌํค๋์ง ์ถ๊ฐ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
53-53: Keystore ํ์ผ๋ช ์ ๋ฐ์ดํธ ๊ฒํ
Decode And Save Keystore Base64์คํ ์์ ์ถ๋ ฅ ํ์ผ๋ช ์ ๊ธฐ์กด์keystore.jks๋์app/key.jks๋ก ๋ณ๊ฒฝํ ์ ์ ์ผ๊ด์ฑ ์ ์ง ์ธก๋ฉด์์ ์ข์ต๋๋ค. ๋ค๋ง, ์ดํ ์คํ (์, SIGNED_STORE_FILE ์ค์ )์์๋ ์ด ๋ณ๊ฒฝ ์ฌํญ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์๋๊ณ ์๋์ง ํ์ธํด ์ฃผ์ธ์.
64-65: local.properties ์ ๋ฐ์ดํธ
Add Local Properties์คํ ์์$LOCAL_PROPERTIES_CONTENTS๋ฅผ ์ด์ฉํดlocal.propertiesํ์ผ์ ์์ฑํ๊ณ , ์ด์ด์SIGNED_STORE_FILE=key.jks๋ฅผ ์ถ๊ฐํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ ํด ๋ณด์ ๋๋ค. ๋ชจ๋ ํ๊ฒฝ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ ๋ฒ ๋ ๊ฒ์ฆํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
90-96: ์ฑ ๋ฒ์ ์ถ์ถ ์คํฌ๋ฆฝํธ ๊ฒํ
Get App Version์คํ ์์grep๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํดapp/build.gradleํ์ผ์์versionName์ ์ถ์ถํ๋๋ก ๊ตฌํํ์ต๋๋ค. ๋ง์ฝ ํ๋ก์ ํธ๊ฐ Kotlin DSL์ ์ฌ์ฉํ์ฌapp/build.gradle.ktsํ์ผ์ ์ด์ํ๋ค๋ฉด, ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๋ฐ์ดํธํ ํ์๊ฐ ์์ผ๋ ์ด ๋ถ๋ถ์ ํ์ธํด ์ฃผ์ธ์.
97-107: Firebase App Distribution ์ ๋ก๋ ์คํ ์์ Firebase App Distribution ์คํ ์์
groups๊ฐ์ดseungwon์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ๋ฆด๋ฆฌ์ฆ ๋ ธํธ์v${{ env.VERSION }}๊ฐ ํฌํจ๋๋๋ก ์ ๋ฐ์ดํธํ ์ ์ ๊ธ์ ์ ์ ๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ํ ๋๋ก ๋์ํ๋์ง ์ต์ข ๊ฒ์ฆ ๋ถํ๋๋ฆฝ๋๋ค.๐งฐ Tools
๐ช YAMLlint (1.35.1)
[error] 106-106: trailing spaces
(trailing-spaces)
4-9:Details
โ Verification inconclusive
๋ธ๋์น ํธ๋ฆฌ๊ฑฐ ์ ๋ฐ์ดํธ ๊ฒํ
ํ์ฌ push ๋ฐ pull_request ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ๊ฐ
master๋ธ๋์น๋ก ์ค์ ๋์ด ์์ต๋๋ค. PR ๋ชฉํ์ ๋ฐ๋ผ ๋ธ๋์น ์ด๋ฆ์release/1.1.0์ผ๋ก ์ ๋ฐ์ดํธํ ํ์๊ฐ ์๋์ง ๊ฒํ ํด ์ฃผ์ธ์.
์์ diff:- - master + - release/1.1.0
์ฃผ์ ๊ฒํ : ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ ๋ธ๋์น ์ ๋ฐ์ดํธ ์ฌ๋ถ ํ์ธ
- ํ์ผ:
.github/workflows/android_cd.yml(๋ผ์ธ 4-9)- ํ์ฌ
push๋ฐpull_request์ด๋ฒคํธ๊ฐmaster๋ธ๋์น๋ก ์ค์ ๋์ด ์์ต๋๋ค.- ๋ฐฐํฌ ์ ๋ต์ด๋ PR ํ๊น์ ๋ฐ๋ผ, ํด๋น ๋ธ๋์น๊ฐ ์ต์ ์ ์ฑ ์ ๋ฐ์ํ๋์ง ๊ฒํ ํ, ํ์ํ๋ค๋ฉด ์๋์ ๊ฐ์ด ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๊ณ ๋ คํด ์ฃผ์ธ์:
- - master + - release/1.1.0์ ๋ฐ์ดํธ ์ฌ๋ถ๋ ํ๋ก์ ํธ์ ๋ธ๋์น ์ ์ฑ ๊ณผ ๋ฐฐํฌ ์ ๋ต์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก, ๊ด๋ จ ๋ด์ฉ์ ๋ค์ ํ ๋ฒ ํ์ธํด ์ฃผ์๊ธธ ๋ฐ๋๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (1)
.github/workflows/android_cd.yml(3 hunks)
๐งฐ Additional context used
๐ช actionlint (1.7.4)
.github/workflows/android_cd.yml
72-72: "github.event.pull_request.title" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions for more details
(expression)
โฐ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Continuous Deployment
๐ Additional comments (2)
.github/workflows/android_cd.yml (2)
101-101: ์ผ๊ด์ฑ ํ์ธ: releaseNotes ์ ๋ฐ์ดํธ
releaseNotesํ๋๊ฐ ์ด์ ์ ํ๊ฒฝ ๋ณ์ ๋์ ์ด์ steps.extract_version.outputs.version์ ์ฐธ์กฐํ๋๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ก์จ ๋ฒ์ ์ ๋ณด๊ฐ ๋ฉ์์ง์ ์ผ๊ด๋๊ฒ ๋ฐ์๋ฉ๋๋ค.
108-111: ์ผ๊ด์ฑ ํ์ธ: Discord ์๋ฆผ ๋ฉ์์ง ์ ๋ฐ์ดํธ
Discord ์๋ฆผ ๋ฉ์์ง์์๋ ๋ฒ์ ์ ๋ณด๊ฐsteps.extract_version.outputs.version์ ํตํด ์ ๋ฌ๋๊ณ ์์ต๋๋ค. ์ ๋ฐ์ดํธ๋ ๋ฉ์์ง ํ์์ด ์ต์ ๋ฒ์ ์ถ์ถ ๋ก์ง๊ณผ ์ผ์นํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
๐์์ ๋ด์ฉ
๐ฌ๋ฆฌ๋ทฐ ์๊ตฌ์ฌํญ(์ ํ)
CI/CD๋ฅผ ๊ตฌ์ถํ๊ณ ๋์ ์ฒซ PR์ ๋๋ค.
Summary by CodeRabbit
New Features
Refactor
Style
Chores