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

신고 도메인 구현하기 #192

Closed
8 tasks done
include42 opened this issue Sep 16, 2020 · 3 comments · Fixed by #220
Closed
8 tasks done

신고 도메인 구현하기 #192

include42 opened this issue Sep 16, 2020 · 3 comments · Fixed by #220
Assignees
Labels
⭐⭐⭐ 중요도 3 스프린트10 스프린트 10 💻백엔드 백엔드 관련 이슈 💻프론트엔드 프론트엔드 관련 이슈

Comments

@include42
Copy link
Collaborator

include42 commented Sep 16, 2020

목적

신고 도메인을 구현하고, 신고 기능이 올바르게 수행되도록 백엔드 / 프론트엔드의 기능 구현을 완료한다.

체크리스트

  • 신고 도메인을 설계한다.
  • 신고에 대한 인수 테스트 작성 및 DTO 클래스를 구현한다.
  • 신고 컨트롤러 테스트를 작성하고 컨트롤러를 구현한다.
  • 신고 서비스 테스트를 작성하고 서비스를 구현한다.
  • 신고 저장소 테스트를 작성하고 저장소를 구현한다.
  • 프론트엔드에 신고 api를 추가한다.
  • 프론트엔드의 ReportButton에 신고 기능을 연결한다.
  • 프론트엔드에서 다양한 상황에 동작 수행되는지 테스트한다.

주의 사항

관련 이슈

일정

@include42 include42 added ⭐⭐⭐ 중요도 3 💻백엔드 백엔드 관련 이슈 💻프론트엔드 프론트엔드 관련 이슈 스프린트10 스프린트 10 labels Sep 16, 2020
@include42 include42 self-assigned this Sep 16, 2020
@include42
Copy link
Collaborator Author

신고 기능 관련해서, 10월 5일까지 작업한 내용은 다음과 같습니다.

신고 API 작성

  • 신고 생성
  • 신고 전체 조회
  • 신고 개별 조회
  • 신고 삭제

그런데, 작업하다 보니 문제가 있더라고요.

  • 신고 조회 및 삭제는 현재 쓰이지 않는 기능임!!
  • 미리 작성하게 되면서, 정확한 요구조건을 알 수 없어 구현 방향을 잡지 못함
  • response에 구체적으로 무엇이 들어갈지, API가 호출될때 구체적으로 무엇을 할지 미지수

그래서, 일단 신고 생성만 만들어서 프론트엔드와 연결하기로 하였습니다.
기존에 구현한 신고 조회, 신고 삭제는 코드 및 테스트코드 전부 삭제하겠습니다.

그래도 이걸 짜보면서 어떻게 admin 페이지쪽을 구성할지 힌트를 많이 얻었어요
단순 삽질은 아닌듯!! 화이팅화이팅 👍

@include42
Copy link
Collaborator Author

include42 commented Oct 7, 2020

좀 더 진행하면서, 과연 Report 설계를 ArticleReport / CommentReport로 나눠야 할지 고민하게 되었습니다.

테이블도 두 개로 나눠지게 되고, 만약 제 3의 신고 로직이 생기면 또 추가해줘야 하니까요.

그러나 지금 로직에서는 신고 엔티티가 Article이나 Comment를 연관관계로 참조하고 있어서, 별도의 방법이 없는것도 사실.

그래가 코드리뷰해준 내용을 바탕으로 새로운 아이디어를 하나 짜 봤어요.
Emotion과 Article의 로직을 짤 떄 사용했던 것처럼, 연결 테이블을 짜보는 것입니다.

이에 대해 정리해보고, 완료되는대로 여기 업로드하겠습니다.

@include42
Copy link
Collaborator Author

10.07 회의를 통해 결정된 사항은 다음과 같습니다.

  • Report로 신고 도메인을 통일, 대신 도메인에 type을 필드로 추가
  • 연결 테이블은 아직 만들 필요가 없어보임. 추후 상황에 따라 추가
  • 대신 Report가 신고된 게시물(게시글 혹은 댓글)의 id를 가지고 있음

이에 맞춰 수정하겠습니다!!

include42 added a commit that referenced this issue Oct 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⭐⭐⭐ 중요도 3 스프린트10 스프린트 10 💻백엔드 백엔드 관련 이슈 💻프론트엔드 프론트엔드 관련 이슈
Projects
None yet
2 participants