Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

시험 목록과 시험 상세 페이지에서 좋아요 수를 확인할 수 있다. #30

Merged
merged 20 commits into from
Jan 20, 2025

Conversation

alstn113
Copy link
Owner

연관된 이슈

작업 내용

서버

  • 다양한 반응을 사용할 수 있는 Reaction 도메인 작성
  • ExamLikeService에서 도메인 서비스인 LikeService를 사용해서 시험에 대한 좋아요, 좋아요 취소 구현
  • 반응에 대한 기록 및 삭제에 대한 낮은 성능의 이유로 반응을 논리 삭제로 구현 (Active, Deleted)

웹 클라이언트

  • 최근 시험 목록 페이지와 시험 인트로 페이지에서 좋아요 수 조회 가능
  • 시험 인트로 페이지에서 좋아요, 좋아요 취소 가능
스크린샷 2025-01-21 오전 12 54 19
  • 좋아요, 좋아요 취소는 tanstack mutation를 사용했고, 낙관적 업데이트 방식으로 구현(선 적용 후 요청)
  • onSettled에서 invalidateQueries가 있는데 좋아요를 연속 클릭할 경우 너무 많은 요청 발생
    • 기존: like 요청 1번마다 summary 요청이 1번 발생함
    • 개선: 이 부분을 300ms Debounce 적용해서 해결
2025-01-21.1.14.53.mov

@alstn113 alstn113 merged commit 2b6204f into dev Jan 20, 2025
2 checks passed
@alstn113 alstn113 deleted the feat/#28 branch January 20, 2025 16:18
@alstn113 alstn113 mentioned this pull request Jan 20, 2025
alstn113 added a commit that referenced this pull request Jan 20, 2025
* feat: 시험 목록, 나의 제출된 시험 조회 시 좋아요 수 포함

* refactor: 내가 제출한 시험에 좋아요 수 는 제거

* feat: 시험 상세 요약 조회 시 로그인 여부에 따라 좋아요 여부 조회

* refactor: ExamDetail과 ExamDetailSummary로 응답 분리

* feat: client like, unlike api 요청 구현

* refactor: 사용하지 않는 interface 제거

* feat: like, unlike mutation 구현

* feat: useExamLikeManager를 통한 좋아요 토글 hook 구현

* refactor: remove select updatedAt

* feat: add pagination query index

* refactor: ddl 컬럼 이름 변경 및 인덱스 수정

* refactor: 전체 시험 목록과 내 시험 목록 interface 분리

* refactor: exam querydsl leftjoin이 필요한 곳 수정

* refactor: exam querydsl submission 부분 join으로 변경

* fix: submitted exam ids group by exam id!

* refactor: 문항 수 아이콘으로 변경

* feat: useExamLikeeManager 낙관적 업데이트

* feat: 좋아요 invalidate queries에 디바운스 300ms

* feat: exam intro의 좋아요 버튼

* refactor: LikeService 코드 구조 변경
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