Skip to content

⚙️[기능추가][소셜] 친구 요청/수락/삭제 및 랭킹 도메인 구현 #28

Description

@Cassiiopeia

📝 현재 문제점

  • 친구/소셜 관련 도메인이 전혀 구현되어 있지 않음
  • API 스펙상 친구 목록, 요청, 받은 요청 목록, 수락, 거절, 삭제, 랭킹 총 7개 엔드포인트가 정의되어 있으나 모두 미구현

🛠️ 해결 방안 / 제안 기능

  • GET /api/friends : 친구 목록 조회 (Server-Only, 항상 서버에서 조회)
  • POST /api/friends/request : 친구 요청 전송 (중복 요청 409 처리)
  • GET /api/friends/requests/received : 받은 친구 요청 목록 조회
  • POST /api/friends/requests/{requestId}/accept : 친구 요청 수락
  • POST /api/friends/requests/{requestId}/reject : 친구 요청 거절
  • DELETE /api/friends/{friendUserId} : 친구 삭제 (양방향 관계 모두 삭제)
  • GET /api/friends/ranking : 친구 간 공부 시간 랭킹 (오늘 or 주간 기준)

⚙️ 작업 내용

  • FriendRequest Entity (요청 상태: PENDING/ACCEPTED/REJECTED), Friendship Entity 구현
  • Repository 구현 (양방향 친구 관계 쿼리 포함)
  • FriendService : 요청/수락/거절/삭제/목록/랭킹 로직 구현
  • 랭킹 집계 방식 결정 (timer_sessions 기반 집계 쿼리 vs 별도 집계 테이블)
  • SS-Web/controller/social/FriendController 구현
  • Flyway 마이그레이션 : friend_requests, friendships 테이블 생성 SQL 추가

🙋‍♂️ 담당자

  • 백엔드: 이름
  • 프론트엔드: 이름
  • 디자인: 이름

Metadata

Metadata

Assignees

Labels

작업전작업 시작 전 준비 상태

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions