docs: README 를 현재 상태 기준으로 갱신 - #31
Conversation
- API 요약 표 추가 (User/Team/Mission/Detox 전체 엔드포인트) - 이미지 업로드가 presigned URL 이 아니라 파일 직접 업로드 방식임을 명시 - detox 도메인 추가, 구조 설명 최신화 - 환경변수에 AWS S3 항목 추가 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
📝 WalkthroughWalkthroughREADME에 ChangesREADME 개발·운영 가이드 개편
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@README.md`:
- Around line 91-93: Update the README documentation for POST
/api/missions/today/certification to list the accepted image MIME types as
image/jpeg, image/png, and image/webp, while retaining the 10MB size limit.
- Line 90: README.md의 요청 예시 코드 블록에 언어 식별자가 누락되어 MD040 경고가 발생합니다. 해당 fenced code
block의 여는 백틱 뒤에 내용에 맞는 언어 식별자(예: text)를 추가하세요.
- Line 59: README.md의 Mission API 표에서 `/today/status`를 전체 경로인
`/api/missions/today/status`로 수정하여 다른 엔드포인트 표기 형식과 일치시키세요.
- Line 48: README의 POST /api/users 설명을 실제 동작에 맞게 “온보딩(기존 사용자 식별/신규 생성)”으로 수정하고,
기존의 “온보딩 (사용자 생성/로그인)” 표현을 해당 문구로 통일하세요.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: f3c79e33-8a16-4281-bb22-04d18ac05c78
📒 Files selected for processing (1)
README.md
|
|
||
| | 도메인 | Method | Path | 설명 | | ||
| |---|---|---|---| | ||
| | User | POST | `/api/users` | 온보딩 (사용자 생성/로그인) | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== README.md context =="
git ls-files README.md
wc -l README.md
sed -n '1,120p' README.md | cat -n
echo
echo "== Search for /api/users and deviceId =="
rg -n "/api/users|deviceId|onboarding|로그인|사용자 생성" -S .
echo
echo "== Candidate backend files =="
git ls-files | rg '^(src|app|server|pages|api|backend|lib|routes)/'Repository: 8th-COKERTHON/server-team1
Length of output: 27403
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== UserController =="
sed -n '1,120p' src/main/java/com/example/hackathon/domain/user/controller/UserController.java | cat -n
echo
echo "== UserService =="
sed -n '1,140p' src/main/java/com/example/hackathon/domain/user/service/UserService.java | cat -n
echo
echo "== UserCreateResponse =="
sed -n '1,120p' src/main/java/com/example/hackathon/domain/user/dto/response/UserCreateResponse.java | cat -nRepository: 8th-COKERTHON/server-team1
Length of output: 13080
POST /api/users 설명을 온보딩 기준으로 통일해 주세요.
현재 구현은 deviceId로 기존 사용자를 찾고, 없으면 생성하며 있으면 LOGIN을 반환합니다. 로그인이라고 쓰기보다 온보딩(기존 사용자 식별/신규 생성)처럼 실제 동작에 맞춰 정리하는 편이 덜 헷갈립니다.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 48, README의 POST /api/users 설명을 실제 동작에 맞게 “온보딩(기존 사용자
식별/신규 생성)”으로 수정하고, 기존의 “온보딩 (사용자 생성/로그인)” 표현을 해당 문구로 통일하세요.
| | Team | POST | `/api/teams/join` | 초대코드로 참여 | | ||
| | Team | GET | `/api/users/{userId}/teams` | 내 팀 목록 | | ||
| | Team | GET | `/api/teams/{teamId}` | 팀 상세 | | ||
| | Mission | GET | `/api/missions/today`, `/today/status` | 오늘의 미션 조회 | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Mission 상태 API의 전체 경로를 명시하세요.
현재 /today/status만 상대 경로로 표기되어 다른 API 경로 형식과 일관되지 않습니다.
수정 예시
-| Mission | GET | `/api/missions/today`, `/today/status` | 오늘의 미션 조회 |
+| Mission | GET | `/api/missions/today`, `/api/missions/today/status` | 오늘의 미션 조회 |📝 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.
| | Mission | GET | `/api/missions/today`, `/today/status` | 오늘의 미션 조회 | | |
| | Mission | GET | `/api/missions/today`, `/api/missions/today/status` | 오늘의 미션 조회 | |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 59, README.md의 Mission API 표에서 `/today/status`를 전체 경로인
`/api/missions/today/status`로 수정하여 다른 엔드포인트 표기 형식과 일치시키세요.
| `reasons` 는 `@Valid` 검증 실패 시 `{ "필드명": "메시지" }` 로 채워진다. | ||
| 미션 인증 사진은 presigned URL 방식이 아니라 **백엔드로 파일을 직접 업로드**한다. | ||
|
|
||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
요청 예시 코드 블록에 언어 식별자를 추가하세요.
정적 분석에서 MD040 경고가 발생합니다. text 또는 적절한 언어 식별자를 지정해 주세요.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 90-90: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 90, README.md의 요청 예시 코드 블록에 언어 식별자가 누락되어 MD040 경고가 발생합니다.
해당 fenced code block의 여는 백틱 뒤에 내용에 맞는 언어 식별자(예: text)를 추가하세요.
Source: Linters/SAST tools
| POST /api/missions/today/certification (multipart/form-data) | ||
| 헤더: X-Device-Id | ||
| 바디: image 파트에 이미지 파일 (jpg/png, 10MB 이하) |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
허용 이미지 형식에 WebP를 반영하세요.
S3StorageService.validate는 JPEG, PNG, WebP를 허용하지만 README는 jpg/png만 안내합니다. 실제 계약과 맞도록 MIME 타입 기준으로 image/jpeg, image/png, image/webp를 문서화해야 합니다.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 91 - 93, Update the README documentation for POST
/api/missions/today/certification to list the accepted image MIME types as
image/jpeg, image/png, and image/webp, while retaining the 10MB size limit.
Summary by CodeRabbit
deviceId기반 사용자 식별 방식을 구체적으로 안내합니다.