Skip to content

docs: README 를 현재 상태 기준으로 갱신 - #31

Merged
hyeonszz merged 1 commit into
mainfrom
docs/update-readme
Jul 10, 2026
Merged

docs: README 를 현재 상태 기준으로 갱신#31
hyeonszz merged 1 commit into
mainfrom
docs/update-readme

Conversation

@hyeonszz

@hyeonszz hyeonszz commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator
  • API 요약 표 추가 (User/Team/Mission/Detox 전체 엔드포인트)
  • 이미지 업로드가 presigned URL 이 아니라 파일 직접 업로드 방식임을 명시
  • detox 도메인 추가, 구조 설명 최신화
  • 환경변수에 AWS S3 항목 추가

Summary by CodeRabbit

  • 문서
    • 서비스 소개와 용어를 최신화했습니다.
    • 로그인 및 deviceId 기반 사용자 식별 방식을 구체적으로 안내합니다.
    • 로컬 실행 방법과 환경 설정 기본값 안내를 보완했습니다.
    • API 경로, 응답 형식, 오류 메시지 구조를 상세히 정리했습니다.
    • 이미지 업로드 방식과 multipart 요청 예시를 추가했습니다.
    • AWS 배포에 필요한 환경변수와 스토리지 처리 방식을 문서화했습니다.

- API 요약 표 추가 (User/Team/Mission/Detox 전체 엔드포인트)
- 이미지 업로드가 presigned URL 이 아니라 파일 직접 업로드 방식임을 명시
- detox 도메인 추가, 구조 설명 최신화
- 환경변수에 AWS S3 항목 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hyeonszz hyeonszz self-assigned this Jul 10, 2026
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

README에 deviceId 기반 식별, API 구조와 응답 형식, 백엔드 직접 이미지 업로드, S3 관련 배포 환경변수 및 로컬 실행 안내가 반영됐다.

Changes

README 개발·운영 가이드 개편

Layer / File(s) Summary
서비스 개요와 실행 안내
README.md
서비스 소개와 사용자 식별 방식을 갱신하고, AWS 기술 스택 및 로컬 기본 설정 안내를 추가했다.
디렉터리와 API 문서
README.md
도메인별 책임과 API 경로를 구체화하고, X-Device-Id 식별 및 ApiResponse 응답 규칙을 설명했다.
업로드와 배포 설정 문서
README.md
검증 실패 응답 형식, multipart/form-data 이미지 업로드 처리, DB·AWS 환경변수 목록을 정리했다.

Estimated code review effort: 1 (Trivial) | ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed README를 현재 프로젝트 상태에 맞게 갱신한 내용과 일치하며, 주요 변경인 문서 업데이트를 잘 드러냅니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/update-readme

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 0fc7a59 and fcbe190.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md

| 도메인 | Method | Path | 설명 |
|---|---|---|---|
| User | POST | `/api/users` | 온보딩 (사용자 생성/로그인) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ 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 -n

Repository: 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 설명을 실제 동작에 맞게 “온보딩(기존 사용자
식별/신규 생성)”으로 수정하고, 기존의 “온보딩 (사용자 생성/로그인)” 표현을 해당 문구로 통일하세요.

Comment thread README.md
| Team | POST | `/api/teams/join` | 초대코드로 참여 |
| Team | GET | `/api/users/{userId}/teams` | 내 팀 목록 |
| Team | GET | `/api/teams/{teamId}` | 팀 상세 |
| Mission | GET | `/api/missions/today`, `/today/status` | 오늘의 미션 조회 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 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.

Suggested change
| 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`로 수정하여 다른 엔드포인트 표기 형식과 일치시키세요.

Comment thread README.md
`reasons` 는 `@Valid` 검증 실패 시 `{ "필드명": "메시지" }` 로 채워진다.
미션 인증 사진은 presigned URL 방식이 아니라 **백엔드로 파일을 직접 업로드**한다.

```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 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

Comment thread README.md
Comment on lines +91 to +93
POST /api/missions/today/certification (multipart/form-data)
헤더: X-Device-Id
바디: image 파트에 이미지 파일 (jpg/png, 10MB 이하)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ 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.

@hyeonszz
hyeonszz merged commit 0310d4a into main Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant