Skip to content

[REFACTOR] 피드 도메인 패키지 구조 및 조회 로직 개선#534

Merged
GiJungPark merged 31 commits into
devfrom
refactor/#520
Jun 19, 2026
Merged

[REFACTOR] 피드 도메인 패키지 구조 및 조회 로직 개선#534
GiJungPark merged 31 commits into
devfrom
refactor/#520

Conversation

@GiJungPark

Copy link
Copy Markdown
Member

Related Issue

Key Changes

피드 도메인 패키지 구조 정리

  • 기존에 여러 패키지에 흩어져 있던 피드 관련 코드를 feed 하위로 이동했습니다.
  • 피드 컨텍스트 내부를 역할별로 구분했습니다.
    • feed.feed: 피드 생성/수정/삭제/조회, 좋아요, 인기 피드
    • feed.comment: 댓글 생성/수정/삭제/조회
    • feed.report: 피드/댓글 신고
  • 피드, 댓글, 신고 관련 DTO/Exception/Repository/Service/Application/Controller를 각 기능 패키지 하위로 이동했습니다.
  • 사용하지 않는 피드 카테고리, 관심글, legacy service/repository 로직을 제거했습니다.

피드 조회 로직 개선

  • 피드 목록 조회 시 발생하던 N+1 문제를 줄이기 위해 projection 기반 QueryRepository를 분리했습니다.
  • 피드 목록 응답에 필요한 좋아요 수, 댓글 수, 이미지 수, 평점 정보 등을 JOIN 및 서브쿼리 기반으로 조회하도록 변경했습니다.
  • 사용자 피드 목록 조회를 List 반환 방식에서 Slice 반환 방식으로 변경했습니다.
  • isLoadable 판단을 조회 결과 size 비교가 아닌 Slice.hasNext() 기준으로 변경했습니다.
  • 오래된순 정렬 시 커서 조건과 정렬 방향이 맞지 않던 문제를 수정했습니다.
    • 최신순: createdDate DESC, feedId DESC
    • 오래된순: createdDate ASC, feedId ASC

피드 Application / Service 책임 정리

  • 피드 생성/수정/삭제 로직을 Application 계층으로 분리했습니다.
  • 이미지 업로드 로직을 FeedImageService로 분리했습니다.
  • 피드 수정/삭제 시 작성자 검증을 FeedServiceImpl#getOwnedFeedOrException으로 통일했습니다.
  • 피드 전체 조회와 추천 조회 분기 처리를 Service에서 Application으로 이동했습니다.
  • 인기 피드 등록/조회 관련 로직을 별도 Application/Service로 분리했습니다.

이벤트 기반 처리 추가

  • 피드 좋아요 이벤트를 추가하고 알림 발송 로직을 listener 기반으로 분리했습니다.
  • 인기 피드 선정 이벤트를 추가하고 알림 발송 로직을 listener 기반으로 분리했습니다.
  • 회원 탈퇴 시 피드 작성자를 알 수 없음 사용자로 변경하는 로직을 이벤트 기반으로 변경했습니다.
  • 피드 이미지 삭제는 트랜잭션 커밋 이후 처리되도록 이벤트를 사용했습니다.

버그 수정

  • 비로그인 사용자가 사용자 프로필 피드 조회 시 비공개 피드를 볼 수 있던 문제를 수정했습니다.
  • PopularFeedService에 누락된 @Transactional을 추가했습니다.

To Reviewers

  • 이번 PR은 단순 패키지 이동뿐 아니라 기존 피드 조회/생성/수정/삭제 책임 분리와 조회 성능 개선이 함께 포함되어 diff가 큽니다.

References

GiJungPark added 30 commits June 9, 2026 14:12
@github-actions github-actions Bot requested review from ljy1348 and sansan20535 June 17, 2026 06:51
@GiJungPark GiJungPark changed the title Refactor/#520 [REFACTOR] 피드 도메인 패키지 구조 및 조회 로직 개선 Jun 17, 2026

@ljy1348 ljy1348 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

확인했습니다~

@GiJungPark GiJungPark merged commit d3cede4 into dev Jun 19, 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.

[REFACTOR] 피드 생성 로직 리팩토링

2 participants