Skip to content

feat : 다른 사용자 프로필 조회 API 연동 - #204

Merged
kim3360 merged 6 commits into
developfrom
feat/194-other-member-feed-api
Aug 5, 2026
Merged

kim3360 merged 6 commits into
developfrom
feat/194-other-member-feed-api

Conversation

@kim3360

@kim3360 kim3360 commented Aug 5, 2026 •

Copy link
Copy Markdown
Member

변경 내용

타인 피드 목록 조회 API를 연동했습니다.

  • getOtherMemberFeed API + useInfiniteOtherMemberFeed 훅 추가
  • 곡 상세 댓글의 닉네임 클릭 시 프로필로 이동 (본인 → /app/my, 타인 → /app/users/:memberId)
  • UserProfilePage에서 타인 피드를 ProfilePinGrid로 표시

관련 이슈

Closes #194

변경 사항

  • 새로운 기능 추가
  • 버그 수정
  • UI/UX 개선
  • 리팩토링
  • 문서 업데이트

테스트

  • 브라우저에서 정상 동작 확인
  • 기존 기능에 영향 없음 확인

스크린샷 (UI 변경시)

2026-08-05.7.48.25.mov

체크리스트

  • 코드가 정상적으로 동작합니다
  • 새로운 에러나 경고가 없습니다
  • 필요시 문서를 업데이트했습니다
  • 코드 포맷팅을 실행했습니다 (pnpm format)
  • ESLint 검사를 통과했습니다 (pnpm lint:fix)

코드 품질 확인
PR 제출 전에 다음 명령어를 실행하여 코드 품질을 확인해주세요:

pnpm lint:fix
pnpm format

Summary by CodeRabbit

  • 새로운 기능

    • 다른 회원의 프로필과 핀 피드를 조회할 수 있습니다.
    • 프로필에서 회원을 팔로우하고, 팔로워·팔로잉 목록으로 이동할 수 있습니다.
    • 핀 카드의 닉네임을 클릭해 해당 회원의 프로필로 이동할 수 있습니다.
    • 다른 회원의 핀 피드를 페이지 단위로 불러옵니다.
  • 개선 사항

    • 프로필 버튼이 화면 너비에 맞게 유연하게 표시됩니다.
    • 핀이 없는 프로필에서 필요한 경우에만 핀 등록 버튼이 표시됩니다.
    • 프로필 공유 및 뒤로가기 기능을 제공합니다.

@kim3360 kim3360 self-assigned this Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kim3360, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 11 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 22dddfec-3ea8-4114-b283-e9deb047d1a4

📥 Commits

Reviewing files that changed from the base of the PR and between 2f37bfa and 712215b.

📒 Files selected for processing (9)
  • src/api/pin.ts
  • src/features/pin/types.ts
  • src/features/profile/components/ProfilePinGrid.tsx
  • src/hooks/useFollowMember.ts
  • src/hooks/useOtherMemberProfile.ts
  • src/pages/MyProfilePage.tsx
  • src/pages/PinDetailPage.tsx
  • src/pages/UserProfilePage.tsx
  • src/routes/index.tsx
📝 Walkthrough

Walkthrough

타인 회원 프로필 라우트와 조회 기능을 추가했습니다. 프로필의 팔로우와 공유 동작을 연결했습니다. 핀 피드의 닉네임을 클릭하면 작성자 프로필로 이동합니다. 기존 목 데이터 파일을 삭제했습니다.

Changes

타인 회원 프로필 기능

Layer / File(s) Summary
타인 피드 계약과 조회
src/features/pin/types.ts, src/api/pin.ts, src/features/pin/queries/useOtherMemberFeed.ts, src/hooks/useOtherMemberProfile.ts, src/features/pin/data/mockPinSearchPlaces.ts
타인 피드 조회 API와 커서 기반 무한 조회 훅을 추가했습니다. 피드 항목에 작성자와 장소 관련 필드를 추가했습니다. 기존 핀 목 데이터를 삭제했습니다.
프로필 컴포넌트와 팔로우 상태
src/features/profile/components/ProfileInfo.tsx, src/features/profile/components/ProfileActions.tsx, src/features/profile/components/ProfilePinGrid.tsx, src/hooks/useFollowMember.ts
ProfileInfo가 필요한 프로필 필드와 외부 콜백을 받도록 변경했습니다. 통계와 핀 등록 버튼을 조건부로 렌더링합니다. 팔로우 성공 후 프로필 캐시를 갱신합니다.
프로필 페이지와 작성자 이동
src/pages/UserProfilePage.tsx, src/pages/PinDetailPage.tsx, src/features/pin/components/SongFeedCard.tsx, src/pages/MyProfilePage.tsx, src/routes/index.tsx
타인 프로필 페이지와 인증 라우트를 추가했습니다. 프로필 조회, 팔로우, 공유, 핀 피드 표시를 연결했습니다. 피드 닉네임 클릭 시 본인 또는 타인 프로필로 이동합니다. 기존 내 프로필 호출부를 새 ProfileInfo 계약에 맞게 변경했습니다.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant UserProfilePage
  participant useOtherMemberProfile
  participant getOtherMemberProfile
  participant useInfiniteOtherMemberFeed
  participant getOtherMemberFeed
  Browser->>UserProfilePage: users/:memberId 경로 접근
  UserProfilePage->>useOtherMemberProfile: memberId 전달
  useOtherMemberProfile->>getOtherMemberProfile: 숫자 memberId로 프로필 요청
  UserProfilePage->>useInfiniteOtherMemberFeed: memberId와 pageSize 전달
  useInfiniteOtherMemberFeed->>getOtherMemberFeed: 커서 기반 피드 요청
  getOtherMemberFeed-->>useInfiniteOtherMemberFeed: 피드 페이지 반환
  UserProfilePage-->>Browser: 프로필과 핀 피드 렌더링
Loading

Possibly related issues

  • UMC10th-PLIMAP/plimap-web 194번 이슈 — 타인 피드 API, 무한 조회, 프로필 페이지 연동, 닉네임 기반 프로필 이동을 구현합니다.

Possibly related PRs

Suggested labels: feature

Suggested reviewers: l0521, jeonggyul

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 다른 사용자 프로필 조회 API 연동이라는 주요 변경 사항을 명확하게 요약합니다.
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch feat/194-other-member-feed-api
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/194-other-member-feed-api

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

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

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

https://pr-204.plimap.kr

@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: 3

🤖 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 `@src/hooks/useOtherMemberProfile.ts`:
- Around line 10-11: Update the query configuration in useOtherMemberProfile so
only a valid integer memberId enables the query and reaches
getOtherMemberProfile. Derive and validate the numeric ID once, reject
non-numeric, fractional, or otherwise invalid values such as "abc", and use that
validated value for both enabled and queryFn.

In `@src/pages/UserProfilePage.tsx`:
- Line 91: The UserProfilePage feed rendering only shows the currently cached
pages and never triggers loading of additional pages, so pins after the initial
batch are missing even when more data exists. Update UserProfilePage to use the
infinite-feed controls from useInfiniteOtherMemberFeed, specifically
fetchNextPage, hasNextPage, and isFetchingNextPage, and wire them to a
bottom-of-list trigger such as a button or intersection observer. Keep
ProfilePinGrid as the display target, but append the next-page request logic so
the list can continue loading beyond the first page when hasNextPage is true.
- Around line 16-22: Update UserProfilePage’s useOtherMemberProfile call to
receive the same validated positive numeric ID used by
useInfiniteOtherMemberFeed, passing undefined for invalid memberId values such
as non-numeric or non-positive paths.
🪄 Autofix

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: 79cefd7a-9ca9-4bd8-b59a-67d7e2b4c191

📥 Commits

Reviewing files that changed from the base of the PR and between 55299a9 and 2f37bfa.

📒 Files selected for processing (14)
  • src/api/pin.ts
  • src/features/pin/components/SongFeedCard.tsx
  • src/features/pin/data/mockPinSearchPlaces.ts
  • src/features/pin/queries/useOtherMemberFeed.ts
  • src/features/pin/types.ts
  • src/features/profile/components/ProfileActions.tsx
  • src/features/profile/components/ProfileInfo.tsx
  • src/features/profile/components/ProfilePinGrid.tsx
  • src/hooks/useFollowMember.ts
  • src/hooks/useOtherMemberProfile.ts
  • src/pages/MyProfilePage.tsx
  • src/pages/PinDetailPage.tsx
  • src/pages/UserProfilePage.tsx
  • src/routes/index.tsx
💤 Files with no reviewable changes (1)
  • src/features/pin/data/mockPinSearchPlaces.ts

Comment thread src/hooks/useOtherMemberProfile.ts Outdated
Comment thread src/pages/UserProfilePage.tsx Outdated
Comment thread src/pages/UserProfilePage.tsx
@kim3360 kim3360 added the feature Feature implementation label Aug 5, 2026
@kim3360 kim3360 changed the title feat : 타인 피드 목록 조회 API 연동 feat : 다른 사용자 프로필 조회 API 연동 Aug 5, 2026
@kim3360
kim3360 merged commit d6446e2 into develop Aug 5, 2026
4 checks passed
@kim3360
kim3360 temporarily deployed to preview-maintenance August 5, 2026 11:24 — with GitHub Actions Inactive

This branch was successfully deployed

1 active and 1 inactive deployments
preview-maintenance — 712215b9 Deployed Aug 5, 2026 by kim3360 via cleanup #363
preview — 712215b9 Deployed Aug 5, 2026 by kim3360 via deploy #362
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Feature implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

다른 사용자 프로필 조회 API 연동

1 participant