Skip to content

Conversation

easyhooon
Copy link
Contributor

@easyhooon easyhooon commented Aug 22, 2025

🔗 관련 이슈

📙 작업 설명

  • Reed README.md feature 파트 부분 제외 전부 작성했슴니다.
  • code cleanup

🧪 테스트 내역 (선택)

  • 주요 기능 정상 동작 확인
  • 브라우저/기기에서 동작 확인
  • 엣지 케이스 테스트 완료
  • 기존 기능 영향 없음

📸 스크린샷 또는 시연 영상 (선택)

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

Summary by CodeRabbit

  • 문서화
    • README 대폭 추가: 기술 스택 배지, 스토어 링크, 히어로 이미지, 기능·트러블슈팅·개발 환경·아키텍처·모듈 구조·개발자 정보 포함.
  • 리팩터
    • 오픈소스 라이선스 이벤트명 변경: OnBackClicked → OnBackClick (퍼블릭 API 변경, 사용처 업데이트 필요).
    • 화면 초기화 트리거 방식 변경: 초기 로드 호출을 다른 Compose 효과로 전환.
  • 잡무
    • 빌드 설정 정리: lifecycle-runtime-ktx 의존성 및 관련 버전 항목 제거.

Copy link

coderabbitai bot commented Aug 22, 2025

Walkthrough

문서 README 신규 추가, Settings의 OSS 이벤트명 변경(OnBackClicked → OnBackClick) 및 사용처 업데이트, BookDetailPresenter의 초기 로드 이펙트 LaunchedEffect → RememberedEffect 교체, gradle 버전 카탈로그에서 lifecycle-runtime-ktx 제거.

Changes

Cohort / File(s) Summary
Documentation
README.md
프로젝트 개요, 배지, 개발 스택, 모듈/패키지 구조 등을 담은 README 신규 추가
Detail feature effect trigger
feature/detail/src/main/kotlin/.../BookDetailPresenter.kt
LaunchedEffect(Unit)RememberedEffect(Unit)로 변경 및 import 업데이트; initialLoad() 호출 트리거 방식 변경
Settings — OSS licenses: 이벤트 리네임
feature/settings/src/main/kotlin/.../osslicenses/OssLicensesUiState.kt, .../OssLicensesUi.kt, .../OssLicensesPresenter.kt
UI 이벤트 OnBackClickedOnBackClick으로 명칭 변경 및 관련 emit/handling 모두 갱신
Gradle version catalog cleanup
gradle/libs.versions.toml
[versions]androidx-lifecycle 항목 및 [libraries]androidx-lifecycle-runtime-ktx 항목 제거

Sequence Diagram(s)

sequenceDiagram
    participant Presenter as BookDetailPresenter
    participant Effect as RememberedEffect
    participant UseCase as initialLoad()

    rect rgb(232,245,233)
    Presenter->>Effect: register RememberedEffect(Unit)
    note right of Effect: Compose의 기억된(remembered) 효과로\n초기 로드 트리거 실행
    Effect->>UseCase: invoke initialLoad()
    UseCase-->>Presenter: data / result
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Assessment against linked issues

Objective Addressed Explanation
README 작성 [#141]

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
BookDetail 초기 로드 이펙트 변경 (feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt) README 작성 이슈와 직접 관련 없는 런타임/이펙트 동작 변경입니다.
OSS 이벤트명 리네임 (feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesUiState.kt) README 작성 목적과 무관한 퍼블릭 이벤트 API 명칭 변경입니다.
Gradle 의존성 제거 (gradle/libs.versions.toml) README 작성 이슈의 범위(문서 작업)에 포함되지 않는 빌드 의존성 변경입니다.

"깡총 깡총 README 썼네, 토끼가 말하네 🐇
배지와 모듈 한 줄에 꿰어 담고 📚
뒤로가기 이름 바꿔주고, 이펙트도 기억하네,
코드 숲에 당근 심었구나 🥕
커밋마다 바삭한 발자국 남기네."

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BOOK-259-chore/#141

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a 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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt (1)

305-316: emotionTags[0] 직접 인덱싱으로 인한 크래시 가능성 제거

selectedRecordInfo.emotionTags[0]는 빈 리스트일 경우 IndexOutOfBoundsException를 발생시킵니다. 안전하게 첫 요소를 조회하고, 없으면 사용자에게 안내 후 조기 반환하세요.

                 is BookDetailUiEvent.OnShareRecordClick -> {
                     isRecordMenuBottomSheetVisible = false
                     scope.launch {
-                        navigator.delayedGoTo(
-                            RecordCardScreen(
-                                quote = selectedRecordInfo.quote,
-                                bookTitle = selectedRecordInfo.bookTitle,
-                                emotionTag = selectedRecordInfo.emotionTags[0],
-                            ),
-                        )
+                        val emotion = selectedRecordInfo.emotionTags.firstOrNull()
+                        if (emotion == null) {
+                            sideEffect = BookDetailSideEffect.ShowToast("감정 태그가 없습니다.")
+                            return@launch
+                        }
+                        navigator.delayedGoTo(
+                            RecordCardScreen(
+                                quote = selectedRecordInfo.quote,
+                                bookTitle = selectedRecordInfo.bookTitle,
+                                emotionTag = emotion,
+                            ),
+                        )
                     }
                 }
🧹 Nitpick comments (12)
feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt (3)

244-246: RememberedEffect(Unit)로 초기 로딩 트리거 변경 — 재호출 조건을 더 안전하게 고정하세요

compose-effects의 RememberedEffect는 키가 바뀔 때마다 즉시 실행됩니다. 최초 1회 호출만을 의도했다면, 키를 screen.userBookId로 고정하거나, 1회 실행 가드를 두는 편이 안전합니다. 현재 uiState = Loading으로 인한 재구성이 촉발될 수 있어 의도치 않은 중복 호출 가능성을 배제하기 어렵습니다.

권장 변경안(키를 userBookId로 고정):

-        RememberedEffect(Unit) {
+        RememberedEffect(screen.userBookId) {
             initialLoad()
         }

대안(1회 실행 가드 추가): 아래 상태를 선언한 뒤,

// 파일 상단의 state들과 함께 선언
var hasLoaded by rememberRetained { mutableStateOf(false) }

이 구간을 다음처럼 변경합니다.

-        RememberedEffect(Unit) {
-            initialLoad()
-        }
+        RememberedEffect(Unit) {
+            if (!hasLoaded) {
+                hasLoaded = true
+                initialLoad()
+            }
+        }

392-396: 중복 코루틴 래핑 제거

initialLoad() 내부에서 이미 scope.launch { ... }를 사용합니다. 여기서 한 번 더 scope.launch로 감싸면 불필요한 중첩이 생깁니다. 바로 호출로 간소화하세요.

-                is BookDetailUiEvent.OnRetryClick -> {
-                    scope.launch {
-                        initialLoad()
-                    }
-                }
+                is BookDetailUiEvent.OnRetryClick -> {
+                    initialLoad()
+                }

337-342: 분석 이벤트 명칭 확인 요청(BOOK_DELETE → 레코드 삭제 이벤트?)

레코드 삭제 UI 진입에서 BOOK_DELETE 이벤트를 로깅합니다. 상수 이름상 도서 삭제 용도로 보이는데, 실제로는 “기록(레코드)” 삭제 UX에 사용됩니다. 이벤트 분석 혼동을 막기 위해 명칭/키를 분리하는지 확인 부탁드립니다. 필요하다면 별도 상수(예: RECORD_DELETE)로 분리 추천합니다.

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/card/RecordCardSideEffect.kt (1)

43-47: isCapturing / isSharing 플래그 리셋 경로 보장 확인

RememberedEffect는 키 변경 시마다 실행됩니다. 현재 구현은 true로 전이되는 순간에만 이벤트를 발행하므로 의도는 맞습니다. 다만 상위 상태에서 해당 플래그를 즉시 false로 되돌리는 로직이 없다면(예: 처리 완료 후 리셋), 이후 시나리오에서 재수행이 막힐 수 있습니다. 이벤트 처리부에서 플래그를 반드시 리셋하는지 확인해 주세요. 필요 시 별도 Init 이벤트를 추가해 여기서도 리셋 신호를 보내는 것을 고려할 수 있습니다.

Also applies to: 49-53

README.md (6)

25-25: 섹션 표기 오타: TroubleShooting → Troubleshooting

일관된 용어 사용과 검색성을 위해 표기를 교정하세요.

-## TroubleShooting
+## Troubleshooting

41-42: 서브 리스트 들여쓰기 수정(MD007)

마크다운 린트 규칙에 따라 하위 항목은 2칸 들여쓰기를 권장합니다.

-    - (권장) Android Studio 설치 시 Embeded 된 JDK (Open JDK)
-    - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)     
+  - (권장) Android Studio 설치 시 Embeded 된 JDK (Open JDK)
+  - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)

66-76: 중복 라이브러리 표기 정리

Landscapist/Coil-Compose가 두 번 나옵니다. 한 곳만 남기세요.

 - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
@@
-- [Landscapist](https://github.com/skydoves/landscapist), Coil-Compose

102-102: 펜스 코드블럭에 언어 지정(MD040)

렌더링 안정성과 린팅을 위해 언어를 명시하세요.

-```
+```text

23-24: Features 섹션 보강 제안

PR 설명에 따르면 feature 파트는 리뷰어 기여를 요청한 상태입니다. 최소한 화면 타이틀/핵심 포인트를 불릿 형태로 채워 넣을 수 있도록 TODO 가이드를 추가하거나 체크리스트를 두면 합류가 쉬워집니다. 원하시면 초안 템플릿을 드리겠습니다.


35-76: 개발 가이드에 컨벤션 플러그인 사용 명시 제안

이 저장소는 feature 모듈에서 booket.android.feature 컨벤션 플러그인을 사용해 공통 의존성을 관리합니다(이전에 공유해주신 팀 학습 노트 참고). README Development 섹션에 이를 한 줄 추가하면 신규 기여자 온보딩이 빨라집니다.

feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesPresenter.kt (2)

21-22: Navigator.pop()의 반환값 무시 — 실패 시 폴백 고려(선택 사항)

Slack Circuit의 Navigator.pop()Boolean 반환(성공/실패)을 제공합니다. 루트에서 실패하는 경우를 대비해 로깅 혹은 폴백을 두는 방안을 고려할 수 있습니다. 필수는 아니며 제품 정책에 따릅니다.

다음과 같이 최소한의 가드만 추가하는 방식도 가능합니다:

-                    navigator.pop()
+                    if (!navigator.pop()) {
+                        // TODO: 필요 시 폴백 처리(예: 호스트 Activity finish, 로깅 등)
+                    }

16-28: eventSink 람다의 참조 안정성 향상 제안(선택 사항)

현재 구조도 문제 없지만, 재구성(Recomposition) 시 eventSink 참조가 매번 바뀌지 않도록 remember로 감싸 두면 하위 컴포저블에 불필요한 변경 신호를 줄일 수 있습니다.

     @Composable
     override fun present(): OssLicensesUiState {
-        fun handleEvent(event: OssLicensesUiEvent) {
-            when (event) {
-                is OssLicensesUiEvent.OnBackClick -> {
-                    navigator.pop()
-                }
-            }
-        }
-        return OssLicensesUiState(
-            eventSink = ::handleEvent,
-        )
+        val eventSink: (OssLicensesUiEvent) -> Unit = remember(navigator) {
+            { event ->
+                when (event) {
+                    is OssLicensesUiEvent.OnBackClick -> {
+                        if (!navigator.pop()) {
+                            // 필요 시 폴백
+                        }
+                    }
+                }
+            }
+        }
+        return OssLicensesUiState(eventSink = eventSink)
     }

위 변경 시 필요한 import:

import androidx.compose.runtime.remember
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cbbc70f and 958a988.

📒 Files selected for processing (6)
  • README.md (1 hunks)
  • feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt (2 hunks)
  • feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/card/RecordCardSideEffect.kt (1 hunks)
  • feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesPresenter.kt (1 hunks)
  • feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesUi.kt (1 hunks)
  • feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesUiState.kt (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)


41-41: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


96-96: Images should have alternate text (alt text)

(MD045, no-alt-text)


96-96: Images should have alternate text (alt text)

(MD045, no-alt-text)


102-102: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (6)
README.md (1)

2-7: 버전 뱃지와 실제 설정 값 동기화 확인 결과

다음 항목들은 gradle/libs.versions.toml 및 빌드 설정(convention plugin 적용)과 일치하는 것으로 확인되었습니다.

  • Kotlin: 2.2.0 (libs.versions.tomlkotlin = "2.2.0"과 동일)
  • minSdkVersion: 28 (libs.versions.tomlminSdk = "28"과 동일)
  • targetSdkVersion: 35 (libs.versions.tomltargetSdk = "35"과 동일)
  • compileSdkVersion: 35 (libs.versions.tomlcompileSdk = "35"으로 정의되어 있으며, convention plugin에서 적용 중)

추가로, 아래 항목들은 수동으로 한 번 더 검토해 주세요:

  • Gradle 버전(README 뱃지: 8.11.1)이 gradle/wrapper/gradle-wrapper.propertiesdistributionUrl에 정의된 버전과 일치하는지
  • Android Studio 버전(README 뱃지: 2025.1.2 – Narwhal)이 현재 권장 IDE 버전과 부합하는지

필요 시 아래 명령어로 확인할 수 있습니다:

# Kotlin 및 SDK 버전 확인
fd -t f gradle/libs.versions.toml \
  | xargs -I{} sh -c 'echo "# {}"; rg -n "kotlin|minSdk|targetSdk|compileSdk" {}'

# Gradle Wrapper 버전 확인
rg -n "distributionUrl" gradle/wrapper/gradle-wrapper.properties
feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesUi.kt (1)

74-74: 이벤트 명칭 변경 일관성 확인 완료

리포지토리 전역 스캔 결과 OnBackClicked 사용이 전혀 없으며, 모든 호출부에서 OnBackClick으로 통일되어 있습니다.
이로써 리네이밍이 적절히 반영되었음을 확인했습니다.

feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesUiState.kt (1)

11-11: 공개 UI 이벤트 리네이밍 LGTM

외부 모듈에서 이 이벤트를 직접 참조한다면(예: UI 테스트, Deep link handler 등) 컴파일 브레이크가 발생할 수 있으니 의존 모듈 빌드/테스트를 한 번 돌려 확인해 주세요. 필요 시 typealias로 한 버전 유지도 가능합니다.

feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/osslicenses/OssLicensesPresenter.kt (3)

20-22: LGTM — 이벤트 명 변경과 동작 유지가 적절합니다

OnBackClickedOnBackClick로의 명칭 정리 좋습니다. navigator.pop()로 뒤로가기 동작도 이전과 동일하게 유지됩니다.


1-35: PR 범위 확인 요청: README 작업 PR에 코드 변경이 포함되어 있습니다

PR 요약은 README 작성(chore) 중심인데, 본 파일과 다른 UI/State 파일에서 이벤트 명 변경이 포함된 것으로 보입니다. 의도된 범위라면 PR 제목/설명을 업데이트하고, 아니라면 문서/코드 변경을 분리하는 것을 권장합니다.


17-27: ✅ 레거시 이벤트 OnBackClicked 잔존 여부 점검 완료

레거시 이벤트 명 OnBackClicked는 전역에서 더 이상 사용되지 않으며, 신규 이벤트 OnBackClick이 Search, Settings, Detail, Edit 등 여러 모듈에서 정상적으로 호출되고 있음을 확인했습니다.

Comment on lines +14 to +21
<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
</p>
<p align="center">
<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
</p>
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

이미지에 대체 텍스트(alt) 추가

접근성과 SEO, 그리고 markdownlint(MD045) 규칙을 위해 <img>에 alt 속성을 추가하세요.

-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>

-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>

-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|

Also applies to: 96-96

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
In README.md around lines 14 to 21 (also apply same change at line 96), the
<img> tags are missing alt attributes which breaks accessibility, SEO and
markdownlint rule MD045; add an alt attribute to each <img> tag (use a short,
meaningful description of the image for content images, or alt="" for purely
decorative images) so each tag becomes <img src="..." alt="descriptive text"
...>, and ensure alt text is concise and relevant.

easyhooon and others added 2 commits August 23, 2025 05:00
Copy link

@coderabbitai coderabbitai bot left a 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

♻️ Duplicate comments (2)
README.md (2)

14-16: 이미지에 대체 텍스트(alt) 추가로 접근성/SEO/markdownlint 개선

<img> 태그들에 alt 속성이 없어 MD045가 발생합니다. 간단한 설명 alt를 추가해 주세요.

-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>

-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>

Also applies to: 19-20


94-98: 개발자 아바타 이미지 alt 텍스트 추가(MD045)

표 내 아바타 이미지에도 alt를 추가해 주세요.

-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
🧹 Nitpick comments (8)
README.md (8)

42-43: 서브 리스트 들여쓰기와 오탈자 수정(MD007), 용어 표기 통일

들여쓰기는 2칸 권장이고, “Embeded” → “Embedded”, “Open JDK” → “OpenJDK”로 통일을 제안합니다.

-    - (권장) Android Studio 설치 시 Embeded 된 JDK (Open JDK)
-    - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)     
+  - (권장) Android Studio 설치 시 Embedded 된 JDK (OpenJDK)
+  - Java 17을 사용하는 JDK (OpenJDK, AdoptOpenJDK, GraalVM)

25-25: 헤딩 오탈자: TroubleShooting → Troubleshooting

일관된 영문 표기 권장합니다.

-## TroubleShooting
+## Troubleshooting

64-76: 라이브러리 목록 중복 항목 제거 및 정리

Landscapist/Coil-Compose가 중복 기재되어 있습니다. 한 번만 노출되도록 정리해 주세요.

- - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
+ - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
 ...
- - [Landscapist](https://github.com/skydoves/landscapist), Coil-Compose
- - [ComposeExtensions](https://github.com/taehwandev/ComposeExtensions)
+ - [ComposeExtensions](https://github.com/taehwandev/ComposeExtensions)

103-103: 펜스 코드블록에 언어 지정(MD040)
패키지 트리 블록에 언어를 명시하세요. 일반 텍스트면 text를 권장합니다.

-```
+```text

23-25: Features 섹션에 화면별 간단 타이틀 추가 제안

PR 설명에 따라 화면 단위의 간단 타이틀만 먼저 채워두는 걸 제안합니다. 모듈 리스트(117–129라인)를 근거로 스켈레톤을 추가했습니다. 필요 시 추후 상세 보완해도 됩니다.

 ## Features
-
+- 홈
+- 기록(Record)
+- 상세(Detail)
+- 라이브러리(Library)
+- 로그인 · 온보딩
+- 메인 · 스플래시
+- 설정(오픈소스 라이선스 등)
+- 웹뷰

추가로 원하시면 제가 각 화면에 1줄 설명도 붙여드릴게요. 적용 여부 코멘트 부탁드립니다.


100-100: 모듈 다이어그램 이미지 alt 텍스트 구체화

보다 의미 있는 대체 텍스트를 사용하면 접근성과 검색성이 좋아집니다.

-<img width="1631" height="719" alt="image" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />
+<img width="1631" height="719" alt="module-diagram" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />

40-45: 요구 도구 버전 명시로 빌드 재현성 향상

상단 배지와 일치하도록 최소 IDE 버전을 명시하면 온보딩/빌드 재현성이 좋아집니다.

-- IDE : Android Studio 최신 버전
+- IDE : Android Studio 2025.1.2 (Narwhal) 이상
 - JDK : Java 17을 실행할 수 있는 JDK
@@
-- Kotlin Language : 2.2.0
+- Kotlin Language : 2.2.0

실제 개발 환경이 2025.1.2 이상인지 확인 부탁드립니다. 아니면 배지/요구사항 중 하나를 조정하죠.


133-134: 말미의 불필요한 숫자 라인 제거

문서 끝에 단독 숫자 134가 출력됩니다. 빌드/렌더링 노이즈로 보이니 제거하세요.

 <br/>
-134
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between bc7a4bb and d609cb3.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


103-103: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (2)
README.md (2)

1-9: 초반 섹션 구성과 배지 정리, 깔끔합니다

프로젝트 정보가 한눈에 들어오고, 배지들도 최신 스택을 잘 반영하고 있습니다. 문서 가독성 측면에서 좋은 시작이에요.


10-10: Play 스토어 링크 유효성 확인 요청

패키지명이 com.ninecraft.booket로 표기되어 있는데, 리드 앱의 실제 배포 ID와 일치하는지 최종 확인 부탁드립니다. 리다이렉트/지역 제한 이슈가 있을 수 있습니다.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

♻️ Duplicate comments (2)
README.md (2)

14-16: 이미지에 alt 추가로 접근성/MD045 해결

섹션 내 <img> 태그들에 alt가 없습니다. 접근성, SEO, markdownlint(MD045) 위반입니다. 이전 코멘트와 동일 이슈입니다.

-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>

-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>

Also applies to: 19-20


97-97: 아바타 이미지에도 alt 추가 (MD045)

테이블 내 아바타 이미지에도 alt가 없습니다. 이름 기반 alt 권장.

-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
🧹 Nitpick comments (4)
README.md (4)

100-100: 이미지 alt를 더 구체적으로

alt="image"는 의미가 부족합니다. 예: "module-diagram".

-<img width="1631" height="719" alt="image" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />
+<img width="1631" height="719" alt="module-diagram" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />

103-103: 코드 펜스에 언어 지정(MD040)

펜스에 언어를 지정해 linter 경고 해소.

-```
+```text

64-76: 라이브러리 항목 중복 제거(Landscapist/Coil-Compose)

LandscapistCoil-Compose가 중복 기재되어 있습니다. 최초 항목만 유지 권장.

- - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
+ - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
 ...
-- [Landscapist](https://github.com/skydoves/landscapist), Coil-Compose

23-25: Features 섹션 TODO 정리 지원 가능

요청하신 대로 화면별 한 줄 타이틀 나열 형태의 목차 초안 삽입해드릴 수 있습니다. 원하시면 모듈/패키지 구조를 참고해 스켈레톤 작성하겠습니다.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between d609cb3 and b08e865.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


103-103: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (1)
README.md (1)

2-6: 배지 버전 값 최신성 확인 요청

Kotlin/Gradle/Android Studio/SDK 배지가 실제 빌드 설정과 동기화되는지 확인 부탁드립니다. 불일치 시 혼선을 줍니다.

권장 체크:

  • libs.versions.toml 및 Gradle Wrapper 버전과 배지 수치 비교
  • min/targetSdk가 app 모듈의 defaultConfig와 일치하는지 확인


## Features

## TroubleShooting
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

섹션 제목 표기 통일: Troubleshooting

일반 표기 "Troubleshooting" 권장. 앵커/목차 자동생성 시 일관성 좋아집니다.

-## TroubleShooting
+## Troubleshooting
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## TroubleShooting
## Troubleshooting
🤖 Prompt for AI Agents
In README.md around lines 25 to 25, the section title uses "TroubleShooting"
which is inconsistent with the common "Troubleshooting" casing; rename the
header to "Troubleshooting" (capital T only) to ensure consistent section titles
and stable autogenerated anchors/TOC.

Copy link

@coderabbitai coderabbitai bot left a 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

♻️ Duplicate comments (3)
README.md (3)

25-25: 섹션 제목 표기 통일: Troubleshooting

헤더를 일반 표기인 “Troubleshooting”으로 변경 권장.

-## TroubleShooting
+## Troubleshooting

14-16: 이미지에 alt 추가로 접근성/markdownlint(MD045) 해결

본문 스크린샷과 아바타 이미지에 alt 속성이 없습니다.
아래처럼 alt를 추가해 주세요.

 <p align="center">
-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
 </p>
 <p align="center">
-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
 </p>
@@
-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|

Also applies to: 19-20, 97-97


42-43: 오타(Embeded→Embedded) 및 리스트 들여쓰기(MD007) 수정

2칸 들여쓰기와 철자 수정이 필요합니다.

-    - (권장) Android Studio 설치 시 Embeded 된 JDK (Open JDK)
-    - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)     
+  - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK)
+  - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)
🧹 Nitpick comments (6)
README.md (6)

103-103: 코드 블록 언어 지정(MD040) 추가

목록 트리 코드블록에 언어를 지정해 lint 경고 제거.

-```
+```text

74-75: 라이브러리 항목 중복 정리(Landscapist/Coil-Compose)

Landscapist/Coil이 중복 표기되어 있습니다. 한 곳으로 합치세요.

- - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)
@@
- - [Landscapist](https://github.com/skydoves/landscapist), Coil-Compose
+ - Coil-Compose, [Landscapist](https://github.com/skydoves/landscapist)

Also applies to: 67-67


56-56: 라이브러리 명 표기 일관성: Startup

AndroidX App Startup 공식 표기는 “Startup”입니다.

-  - StartUp
+  - Startup

10-10: 브랜드 표기 개선: Play Store

공식 표기 “Play Store” 권장.

-Reed(리드) - 문장과 감정을 함께 담는 독서 기록 [PlayStore](https://play.google.com/store/apps/details?id=com.ninecraft.booket&hl=ko)
+Reed(리드) - 문장과 감정을 함께 담는 독서 기록 [Play Store](https://play.google.com/store/apps/details?id=com.ninecraft.booket&hl=ko)

23-24: Features 섹션 비어있음 — 간단 템플릿 추가 제안

화면 단위 요약을 빠르게 채울 수 있도록 템플릿 추가를 권장합니다.

 ## Features
-
+- 홈: 피드, 추천 문장, 빠른 기록
+- 라이브러리: 소장/완독/보관함 관리
+- 상세: 문장/감정 기록, OCR 인식
+- 기록: 문장/감정/태그 편집
+- 설정: 테마, 오픈소스 라이선스
+- 로그인/온보딩: 소셜 로그인, 초기 설정
+(간단 설명 위주로 편집/추가해 주세요)

원하시면 모듈 구조를 참고해 자동 생성 초안을 드리겠습니다.


100-100: 모듈 다이어그램 이미지 alt 구체화

alt를 의미있게 작성해 접근성 향상.

-<img width="1631" height="719" alt="image" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />
+<img width="1631" height="719" alt="module-diagram" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" />
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between b08e865 and 477bb27.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


97-97: Images should have alternate text (alt text)

(MD045, no-alt-text)


103-103: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (1)
README.md (1)

2-6: README 배지와 실제 설정 비교 검증 결과

  • Kotlin 버전: badge(2.2.0)와 gradle/libs.versions.toml(2.2.0) 일치
  • Gradle Wrapper 버전: badge(8.11.1)와 gradle/wrapper/gradle-wrapper.properties(gradle-8.11.1) 일치
  • minSdkVersion/targetSdkVersion: 자동 스크립트로 검출되지 않으므로 모듈별 defaultConfig 블록에서 값(28/35)을 수동 확인 요망

Copy link

@coderabbitai coderabbitai bot left a 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

♻️ Duplicate comments (3)
README.md (3)

14-16: 이미지에 alt 추가로 접근성/markdownlint(MD045) 해결

동일 지적이 남아 있어 일괄 반영 제안드립니다.

 <p align="center">
-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
 </p>
 <p align="center">
-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
 </p>
 ...
-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|

Also applies to: 19-20, 96-96


25-25: 섹션 제목 표기 통일: Troubleshooting

일반 표기 "Troubleshooting"으로 교정 권장.

-## TroubleShooting
+## Troubleshooting

42-43: 서브 리스트 들여쓰기(MD007) 수정

2칸 들여쓰기 권장 규칙에 맞게 정리.

-    - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK)
-    - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)     
+  - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK)
+  - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)
🧹 Nitpick comments (4)
README.md (4)

102-102: 코드 펜스에 언어 지정(MD040) 추가

디렉터리 트리 블록에 언어 지정으로 lint 해결.

-```
+```text

23-24: Features 섹션에 최소 골격 추가

검토자 안내에 따라 화면별 한 줄 소개 placeholder 추가 제안.

 ## Features
-
+> 화면별 주요 기능을 한 줄로 요약해주세요. (예시 placeholder)
+- 홈: 최근 기록 요약, 진행 중인 책 바로가기
+- 기록: 문장 스크랩, 감정 태깅, OCR 입력
+- 라이브러리: 소장/읽은 책 관리, 정렬/필터
+- 상세: 하이라이트/감정 타임라인, 통계
+- 설정: 백업/복원, OSS 라이선스

원하시면 실제 스크린 별 타이틀 문구도 초안 드리겠습니다.


83-86: Gradle 섹션에 컨벤션 플러그인 사용 명시

프로젝트 온보딩을 위해 feature 모듈 공통 의존성은 컨벤션 플러그인으로 관리된다는 점을 README에 명시하세요. (지난 러닝 참고)

 #### Gradle Dependency
 
 - Gradle Version Catalog
+- (참고) feature 모듈 공통 의존성은 `booket.android.feature` 컨벤션 플러그인에서 관리됩니다. (build-logic 참조)

(learned from retrieved learnings)


98-98: 헤더 복수형 정리

목록 소개이므로 “Modules”가 자연스럽습니다.

-## Module
+## Modules
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 477bb27 and 9fdbfd5.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

14-14: Images should have alternate text (alt text)

(MD045, no-alt-text)


15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


20-20: Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


96-96: Images should have alternate text (alt text)

(MD045, no-alt-text)


96-96: Images should have alternate text (alt text)

(MD045, no-alt-text)


102-102: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (1)
README.md (1)

2-6: Kotlin·Gradle 배지 일치, SDK 버전 직접 확인 필요

  • Kotlin: gradle/libs.versions.toml에서 2.2.0 확인
  • Gradle: gradle/wrapper/gradle-wrapper.properties에서 8.11.1 확인
  • minSdkVersion(28)/targetSdkVersion(35): 코드베이스에서 자동 검색되지 않으니 각 모듈의 build.gradle(.kts) 파일에서 직접 확인 요망

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

♻️ Duplicate comments (3)
README.md (3)

39-39: 섹션 제목 표기 통일: Troubleshooting

일반 표기 “Troubleshooting” 권장. 앵커/TOC 안정화에 유리합니다.

-## TroubleShooting
+## Troubleshooting

17-24: 갤러리 스크린샷 alt 누락 (접근성/MD045)

이미지 5개 모두 alt가 없습니다. 간단한 대체 텍스트를 부여하세요.

-<img src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
-<img src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
-<img src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>
+<img alt="screenshot-1" src="https://github.com/user-attachments/assets/f31d5681-bbf0-4de4-93a6-37a2adf54df7" width="30%"/>
+<img alt="screenshot-2" src="https://github.com/user-attachments/assets/db92e159-091d-425b-8cc2-2324d4191463" width="30%"/>
+<img alt="screenshot-3" src="https://github.com/user-attachments/assets/5fd3f726-f493-4850-9d99-3933815dcd8b" width="30%"/>

-<img src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
-<img src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>
+<img alt="screenshot-4" src="https://github.com/user-attachments/assets/bb7e3281-c7e4-453d-a921-cc4e9a051434" width="30%"/>
+<img alt="screenshot-5" src="https://github.com/user-attachments/assets/7c211781-58e5-4413-9f20-f92b1d0c8f24" width="30%"/>

110-110: 개발자 아바타 이미지 alt 추가 (접근성/MD045)

테이블 내 avatar 이미지에 alt가 없습니다.

-|<img width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
+|<img alt="easyhooon-avatar" width="144" src="https://github.com/user-attachments/assets/7e54768a-ce44-421d-8c03-9df7d0492855">|<img alt="seoyoon513-avatar" width="144" src="https://github.com/user-attachments/assets/a6cea688-cf9b-41ad-a3a0-9a0c11775fa2">|
🧹 Nitpick comments (5)
README.md (5)

26-30: 테이블 전후 공백 추가 (MD058)

헤더 바로 아래 테이블 앞에 빈 줄을 추가하세요.

 ## Features
+ 
 |  홈  |  도서 검색 및 등록  |  내서재  |
 |:---:|:---:|:---:|
 | <img width="230" alt="홈" src="https://github.com/user-attachments/assets/657e14e1-e578-4d7c-8c38-3591d61b1429" /> | <img width="230" alt="도서 검색 및 등록" src="https://github.com/user-attachments/assets/7a166abf-1160-4cdf-8ec5-f8071d7f0891" /> | <img width="230" alt="내서재" src="https://github.com/user-attachments/assets/d4679cd4-0188-4763-9adc-e210bef44ef0" /> |

56-57: 서브 리스트 들여쓰기 2칸으로 정렬 (MD007) + ‘Embedded’ 철자 확인

서브아이템 들여쓰기를 2칸으로, 철자는 이미 ‘Embedded’로 올바릅니다.

--    - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK)
--    - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)
+-  - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK)
+-  - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)

67-73: AndroidX 하위 항목 들여쓰기 2칸으로 수정 (MD007) + 표기 수정

“Startup” 표기가 공식 명칭입니다.

--    - Activity Compose
--    - Core
--    - DataStore
--    - StartUp
--    - Splash
--    - CameraX
+-  - Activity Compose
+-  - Core
+-  - DataStore
+-  - Startup
+-  - Splash
+-  - CameraX

76-76: Compose 하위 항목 들여쓰기 2칸으로 수정 (MD007)

하위 리스트 들여쓰기 일관화.

--    - Material3
+-  - Material3

116-147: 코드 블록에 언어 지정 (MD040)

패키지 구조 코드펜스에 언어 지정이 없습니다. “text”로 지정 권장.

-```
+```text
 ├── app
 │   └── application
 ...
 └── gradle
     └── libs.versions.toml
-```
+```
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 9fdbfd5 and 09933a9.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-20T12:34:23.786Z
Learnt from: easyhooon
PR: YAPP-Github/Reed-Android#61
File: feature/webview/build.gradle.kts:17-21
Timestamp: 2025-07-20T12:34:23.786Z
Learning: Reed-Android 프로젝트에서는 `booket.android.feature` convention plugin을 사용하여 feature 모듈들의 공통 의존성을 관리한다. 이 plugin은 Circuit, Compose, 그리고 core 모듈들의 의존성을 자동으로 포함하므로, 각 feature 모듈의 build.gradle.kts에서는 특별한 의존성(예: libs.logger, libs.kakao.auth)만 별도로 선언하면 된다.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.17.2)
README.md

13-13: Images should have alternate text (alt text)

(MD045, no-alt-text)


17-17: Images should have alternate text (alt text)

(MD045, no-alt-text)


18-18: Images should have alternate text (alt text)

(MD045, no-alt-text)


19-19: Images should have alternate text (alt text)

(MD045, no-alt-text)


22-22: Images should have alternate text (alt text)

(MD045, no-alt-text)


23-23: Images should have alternate text (alt text)

(MD045, no-alt-text)


27-27: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


57-57: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


67-67: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


68-68: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


69-69: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


70-70: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


71-71: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


72-72: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


76-76: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


110-110: Images should have alternate text (alt text)

(MD045, no-alt-text)


110-110: Images should have alternate text (alt text)

(MD045, no-alt-text)


116-116: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-build
🔇 Additional comments (1)
README.md (1)

3-7: README 배지와 빌드 설정 동기화 확인

  • Kotlin(2.2.0) → gradle/libs.versions.tomlkotlin = "2.2.0"와 일치
  • Gradle(8.11.1) → gradle/wrapper/gradle-wrapper.propertiesdistributionUrl=…gradle-8.11.1…와 일치
  • Android Studio(2025.1.2) → IDE 버전으로 코드에서 선언되지 않음. 실제 사용 중인 Android Studio 버전을 수동 검증
  • minSdkVersion, targetSdkVersion → 전체 .kts 파일에서 선언 위치 미발견. 앱 모듈(app/build.gradle.kts 등)에서 설정된 값을 확인해 README 배지(28/35)와 일치 여부 검증

Comment on lines +12 to +14
<a href="https://play.google.com/store/apps/details?id=com.ninecraft.booket&hl=ko">
<img src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
</a>
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Google Play 스토어 링크 유효성 확인

패키지 ID(com.ninecraft.booket)와 실제 배포 앱이 일치하는지 확인 필요. 미출시/변경 시 사용자를 404로 유도할 수 있습니다.


🌐 Web query:

현재 Google Play에 com.ninecraft.booket 패키지의 공개 스토어 페이지가 존재하는지 확인해 주세요. 존재하지 않으면 링크를 제거하거나 올바른 패키지 ID로 교체하세요.

💡 Result:

검색해봤습니다 — com.ninecraft.booket 패키지의 공개 Google Play 스토어 페이지는 찾을 수 없습니다. 링크가 있다면 제거하거나 올바른 패키지 ID로 교체하세요. 올바른 패키지 ID를 알려주시면 제가 다시 확인해 드리겠습니다.


Google Play 스토어 링크 제거 또는 올바른 패키지 ID로 교체

README.md (12–14)에서 com.ninecraft.booket 패키지에 해당하는 앱이 존재하지 않아 링크가 404를 반환합니다. 링크를 제거하거나 실제 배포된 앱의 올바른 패키지 ID로 교체해 주세요.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

13-13: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
In README.md around lines 12 to 14, the Google Play link points to package id
com.ninecraft.booket which returns 404; either remove the anchor and image or
replace the href with the correct Play Store package id for the app (and update
the image src if needed), ensuring the link targets an existing app and that the
badge image still displays correctly.

Comment on lines +13 to +14
<img src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
</a>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Google Play 배지에 alt 추가 (접근성/MD045)

링크 내부 이미지에 alt가 없습니다. 접근성과 markdownlint(MD045) 충족을 위해 alt를 추가하세요.

 <a href="https://play.google.com/store/apps/details?id=com.ninecraft.booket&hl=ko">
-    <img src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
+    <img alt="Get it on Google Play" src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
 </a>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<img src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
</a>
<a href="https://play.google.com/store/apps/details?id=com.ninecraft.booket&hl=ko">
<img alt="Get it on Google Play" src="https://github.com/user-attachments/assets/8699ffd3-3399-45eb-9e2b-88818ba62091" width="200" />
</a>
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

13-13: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
In README.md around lines 13-14, the <img> tag inside the link is missing an alt
attribute which violates accessibility and markdownlint MD045; add a concise,
descriptive alt attribute to the image (e.g., "Get it on Google Play" or an
appropriate Korean equivalent) so the <img> element reads alt="..." and
satisfies accessibility and the linter.

@easyhooon
Copy link
Contributor Author

easyhooon commented Aug 29, 2025

@seoyoon513 좋구만 approve 해주시면 될거같슴다~

@easyhooon easyhooon merged commit 7099e42 into develop Aug 30, 2025
4 checks passed
@easyhooon easyhooon deleted the BOOK-259-chore/#141 branch August 30, 2025 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BOOK-259/chore] README 작성
2 participants