이번에 팀프로젝트로 숏폼 컨텐츠를 만들어 보기로 했습니다. 먼저 데이터 베이스를 댓글과 답글로 나눠서 2개의 테이블로 댓글을 보관하려 했습니다.
하지만, 두개의 테이블로 나눈다면 복잡성 증가에 대한 우려때문에 일단 한개의 테이블로 정리하고 나중에 필요하다면 두개로 나누자는 의견이 나왔습니다.
위에 사진처럼 댓글 테이블을 생성했습니다.
댓글을 그냥 순서대로 나열을 하지말고, 부모 댓글을 기준으로 그룹을 형성하여 자식 댓글들을 관리할려고 commentGroup을 만들었습니다.
댓글의 깊이를 주기 위해서 depth를 넣었지만, 유튜브나 틱톡 처럼 부모댓글에 댓글을 달면 그냥 1의 깊이만 주기로 했습니다.
부모댓글들은 orderNumber를 무조건 1로 주기로 했고, 이제 댓글 그룹에서 순서를 나누기 위해서 자식 댓글들이 이제 +1씩 증가하기로 했습니다. (사실, 이부분은 그냥 createdAt으로 나열해도 되지 읺았을까 라는 의문이 듭니다.)
위에 사진은 부모댓글 기능 로직 입니다.
위에 내용과 상당히 비슷합니다.
댓글의 컨트롤러와 서비스 테스트 코드까지 성공 완료 했습니다.