221130 TIL 어드민이 등업 신청 관리하기

오늘은 사용자가 등업 게시판에 등업 신청 게시글을 올리면 관리자가 이를 확인하고 승인해주는 기능을 구현했다.

우선 사용자의 페이지에서 등업 신청 폼이 필요했다.
리액트의 Hook Form을 이용해서 신청 폼을 만들고 신청 폼에서는 신청 등급, 신청 사유를 적고 해당 정보들과 신청자의 닉네임을 백엔드로 post 요청한다.
이때 중복 신청을 방지하기 위해 이미 신청 중에 있는 사용자는 신청 못하게 해야 했다. 그래서 신청한 유저 닉네임으로 신청 게시글 레파지토리에서 신청한 게시글이 존재하는지 (existsByApplicant_Name) 확인 후  있으면 예외처리를 해주었다.

 


성공적으로 POST 요청된 신청 게시글은 어드민 페이지에서 게시글 리스트들을 확인할 수 있다.

관리자가 신청자의 정보를 확인하고 승인이 여부를 결정하는데 관리자가 볼 수 있는 신청자의 정보는 아래와 같다.

 

신청자의 닉네임, 현재 등급. 작성한 게시글, 댓글 개수를 확인할 수 있다. 작성한 게시글, 댓글 개수를 확인하는 이유는 신청한 등급의 기준에 충족하는지 확인하기 위함이다.
원래 기획은 등급 신청 조건이 있고(ex. 작성한 게시글 개수 10개, 댓글 10개) 해당 조건에 충족할 시 등업 신청을 할 수 있도록 기획을 했었는데 일단 신청이 되는 상태부터 만들기 위해 기능을 구현했다.
이후 원래 기획의도에 맞게 등업 신청 기준에 맞을 시에만 신청할 수 있도록 구현할 계획이다.

아무튼 다시 돌아와 어드민 페이지에서 등업 신청 수락 버튼 클릭 시 해당 유저의 등급을 변경하기 위해 PATCH 요청을 보낸다.
유저의 등급 변화와 함께 신청 리스트에서 신청글이 사라져야 하기 때문에 게시글 DELETE도 함께한다.

오늘은 위와 같은 방법으로 등업 신청 게시판 기능을 구현했는데 생각보다 어드민 기능 하나 구현하는데 시간이 오래 걸린 걸 보고 어드민 기능 구현을 더 일찍 시작했어야 했던 게 아닐까? 하는 생각도 했다.
하지만 어드민 기능 중에서도 핵심적인 기능과 부가적인 기능을 잘 가려내서 핵심이 되는 기능 위주로 먼저 구현하면 어느 정도 어드민 페이지의 모양새는 갖출 수 있을 것 같다.