-
Notifications
You must be signed in to change notification settings - Fork 0
chore: README 작성 #168
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
chore: README 작성 #168
Changes from all commits
dd64899
aa59266
958a988
17b9b5f
bc7a4bb
d609cb3
b08e865
477bb27
9fdbfd5
09933a9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,148 @@ | ||||||||||||
# Reed - 문장과 감정을 함께 담는 독서 기록 | ||||||||||||
|
||||||||||||
[](https://kotlinlang.org) | ||||||||||||
[](https://gradle.org/) | ||||||||||||
[](https://developer.android.com/studio) | ||||||||||||
[](https://developer.android.com/distribute/best-practices/develop/target-sdk) | ||||||||||||
[](https://developer.android.com/distribute/best-practices/develop/target-sdk) | ||||||||||||
 | ||||||||||||
<br/> | ||||||||||||
<img width="1024" height="500" alt="reed_graphic" src="https://github.com/user-attachments/assets/357cab12-db36-4de0-8fad-664abc5df8c8" /> | ||||||||||||
|
||||||||||||
<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> | ||||||||||||
Comment on lines
+13
to
+14
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 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
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.17.2)13-13: Images should have alternate text (alt text) (MD045, no-alt-text) 🤖 Prompt for AI Agents
|
||||||||||||
|
||||||||||||
<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%"/> | ||||||||||||
</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> | ||||||||||||
Comment on lines
+17
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 이미지에 대체 텍스트(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%"/>
-|<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
|
||||||||||||
|
||||||||||||
## 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" /> | | ||||||||||||
|
||||||||||||
| OCR | 기록 등록 | 도서 & 기록 상세 | | ||||||||||||
|:---:|:---:|:---:| | ||||||||||||
| <img width="230" alt="OCR" src="https://github.com/user-attachments/assets/8861b7ea-a0f6-4e26-91be-c15450259752" /> | <img width="230" alt="기록 등록" src="https://github.com/user-attachments/assets/32774861-c9fa-439c-a889-ccbc842eb528" /> | <img width="230" alt="도서 & 기록 상세" src="https://github.com/user-attachments/assets/34304a37-7de1-4876-bd55-f041077b3266" /> | | ||||||||||||
|
||||||||||||
| 기록 카드 공유 | | ||||||||||||
|:---:| | ||||||||||||
| <img width="230" alt="기록 카드 공유" src="https://github.com/user-attachments/assets/4c01a5ed-e5a2-4be4-b950-96a457c87ad7" /> | | ||||||||||||
|
||||||||||||
## TroubleShooting | ||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 섹션 제목 표기 통일: Troubleshooting 일반 표기 "Troubleshooting" 권장. 앵커/목차 자동생성 시 일관성 좋아집니다. -## TroubleShooting
+## Troubleshooting 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||
- [[Compose] M3 ModalBottomSheet 드래그(터치 이벤트) 막는 법](https://velog.io/@mraz3068/Compose-M3-ModalBottomSheet-Drag-Disabled) | ||||||||||||
- [Circuit 찍먹해보기(부제: Circuit 희망편)](https://speakerdeck.com/easyhooon/circuit-jjigmeoghaebogi-buje-circuit-hyimangpyeon) | ||||||||||||
- [Circuit 찍먹해보기(부제: Circuit 절망편)](https://speakerdeck.com/easyhooon/circuit-jjigmeoghaebogi-buje-circuit-jeolmangpyeon) | ||||||||||||
- [Jetpack Compose에서 CameraX + MLKit으로 OCR을 구현해보자](https://velog.io/@syoon513/Jetpack-Compose%EC%97%90%EC%84%9C-CameraX-MLKit%EC%9C%BC%EB%A1%9C-OCR%EC%9D%84-%EA%B5%AC%ED%98%84%ED%95%B4%EB%B3%B4%EC%9E%90) | ||||||||||||
- [[Android] 일회성 이벤트를 StateFlow, Compose의 State로 처리할 때 주의해야할 점](https://velog.io/@mraz3068/Handle-One-Time-Event-As-State) | ||||||||||||
- [Circuit Navigation 사용 시 feature 모듈간의 참조는 어떻게 해결했을까?](https://velog.io/@syoon513/Circuit-Navigation-%EC%82%AC%EC%9A%A9-%EC%8B%9C-feature-%EB%AA%A8%EB%93%88%EA%B0%84-%EC%88%9C%ED%99%98-%EC%B0%B8%EC%A1%B0%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%B4%EA%B2%B0%ED%96%88%EC%9D%84%EA%B9%8C) | ||||||||||||
- [Coroutine 에러 처리 패턴: 여러 API 호출을 한 번에 성공/실패 판정하기](https://velog.io/@syoon513/Coroutine-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC) | ||||||||||||
- [[Circuit] ImpressionEffect](https://velog.io/@mraz3068/Circuit-ImpressionEffect) | ||||||||||||
- [Coroutine CancellationException 따로 처리해야하는 케이스](https://velog.io/@mraz3068/Coroutine-CancellationException-UseCase) | ||||||||||||
|
||||||||||||
## Development | ||||||||||||
|
||||||||||||
### Required | ||||||||||||
|
||||||||||||
- IDE : Android Studio 최신 버전 | ||||||||||||
- JDK : Java 17을 실행할 수 있는 JDK | ||||||||||||
- (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK) | ||||||||||||
- Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM) | ||||||||||||
- Kotlin Language : 2.2.0 | ||||||||||||
|
||||||||||||
### Language | ||||||||||||
|
||||||||||||
- Kotlin | ||||||||||||
|
||||||||||||
### Libraries | ||||||||||||
|
||||||||||||
- AndroidX | ||||||||||||
- Activity Compose | ||||||||||||
- Core | ||||||||||||
- DataStore | ||||||||||||
- StartUp | ||||||||||||
- Splash | ||||||||||||
- CameraX | ||||||||||||
|
||||||||||||
- Kotlin Libraries (Coroutine, Serialization, Immutable Collection) | ||||||||||||
- Compose | ||||||||||||
- Material3 | ||||||||||||
|
||||||||||||
- [Circuit](https://github.com/slackhq/circuit) | ||||||||||||
- ~~Google ML Kit~~ Google Cloud Vision | ||||||||||||
- Dagger Hilt | ||||||||||||
- Retrofit, OkHttp3 | ||||||||||||
- Lottie-Compose | ||||||||||||
- Firebase(Analytics, Crashlytics, Remote Config) | ||||||||||||
- Kakao-Auth | ||||||||||||
- [Logger](https://github.com/orhanobut/logger) | ||||||||||||
- [Compose-Stable-Marker](https://github.com/skydoves/compose-stable-marker) | ||||||||||||
- [Landscapist](https://github.com/skydoves/landscapist), Coil-Compose | ||||||||||||
- [ComposeExtensions](https://github.com/taehwandev/ComposeExtensions) | ||||||||||||
- [compose-effects](https://github.com/skydoves/compose-effects) | ||||||||||||
- [compose-shadow](https://github.com/adamglin0/compose-shadow) | ||||||||||||
|
||||||||||||
#### Test & Code analysis | ||||||||||||
|
||||||||||||
- Ktlint | ||||||||||||
- Detekt | ||||||||||||
|
||||||||||||
#### Gradle Dependency | ||||||||||||
|
||||||||||||
- Gradle Version Catalog | ||||||||||||
|
||||||||||||
## Architecture | ||||||||||||
- Android App Architecture | ||||||||||||
- MVI | ||||||||||||
|
||||||||||||
## Developers | ||||||||||||
|
||||||||||||
|Android|Android| | ||||||||||||
|:---:|:---:| | ||||||||||||
|[이지훈](https://github.com/easyhooon)|[이서윤](https://github.com/seoyoon513)| | ||||||||||||
|<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">| | ||||||||||||
|
||||||||||||
## Module | ||||||||||||
<img width="1631" height="719" alt="image" src="https://github.com/user-attachments/assets/f6a26dcd-761a-4dab-ae3f-a32e87eb423b" /> | ||||||||||||
|
||||||||||||
## Package Structure | ||||||||||||
``` | ||||||||||||
├── app | ||||||||||||
│ └── application | ||||||||||||
├── build-logic | ||||||||||||
├── core | ||||||||||||
│ ├── common | ||||||||||||
│ ├── data-api | ||||||||||||
│ ├── data-impl | ||||||||||||
│ ├── datastore-api | ||||||||||||
│ ├── datastore-impl | ||||||||||||
│ ├── designsystem | ||||||||||||
│ ├── model | ||||||||||||
│ ├── network | ||||||||||||
│ ├── ocr | ||||||||||||
│ └── ui | ||||||||||||
├── feature | ||||||||||||
│ ├── detail | ||||||||||||
│ ├── edit | ||||||||||||
│ ├── home | ||||||||||||
│ ├── library | ||||||||||||
│ ├── login | ||||||||||||
│ ├── main | ||||||||||||
│ ├── onboarding | ||||||||||||
│ ├── record | ||||||||||||
│ ├── screens | ||||||||||||
│ ├── settings | ||||||||||||
│ ├── splash | ||||||||||||
│ └── webview | ||||||||||||
├── gradle | ||||||||||||
└── libs.versions.toml | ||||||||||||
|
||||||||||||
``` | ||||||||||||
<br/> |
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.
💡 Verification agent
🧩 Analysis chain
Google Play 스토어 링크 유효성 확인
패키지 ID(com.ninecraft.booket)와 실제 배포 앱이 일치하는지 확인 필요. 미출시/변경 시 사용자를 404로 유도할 수 있습니다.
🌐 Web query:
💡 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