221204 TIL 등업 신청 현황 확인하기
·
성장이야기/TIL
오늘은 등업 신청 관련해서 마음에 들지 않는 부분이 있어 기능을 좀 더 보완해봤다. 이전에 등업 신청 방법은 사용자가 등업 신청을 하면 관리자가 수락할 때까지 신청 상태가 어떻게 되었는지 알 수가 없었다. 등업 신청이 수락되었는지 알수있는 방법도 자신의 등급이 신청한 등급으로 되어있으면 수락된 상태인 것을 알 수 있는 이상한 상태였다. 그래서 이 형태를 수정하기위해 생각해낸 방법은 등업 신청 게시판에서 자신의 등업 신청 현황이 보이게 하는 것이었다. 등업 신청 현황은 자신의 것만 보이게 하고 신청 상태를 3가지로 나눠봤다. 1. 진행중인(심사중) 상태 2. 신청 완료된 상태 3. 거절된 상태 등업 신청 게시판에 자신이 이전에 신청했던 기록도 모두 볼 수 있도록 신청이 거절되어도 해당 신청 글을 지우는 게..
221203 TIL 하위 게시판 생성하기
·
성장이야기/TIL
오늘의 작업 목표는 게시판을 생성하는 기능인데 게시판을 그냥 생성하는 게 아니라 게시판 하나를 선택하면 선택한 게시판의 하위 게시판이 생기는 기능이었다. 예를 들어 EPL 게시판이 존재하면 하위 게시판으로 토트넘, 아스날 등등 팀 게시판을 생성할 수 있고 또 토트넘 팀 게시판에 손흥민, 헤리케인 같은 선수 게시판을 생성하는 것이었다. 기존에 게시판 Entity를 만들 때 위와 같은 기능을 구현하기 위해 게시판 Entity를 설계할 때 게시판 필드에 상위 게시판 아이디 값을 참조하기 위한 parentId 값을 생성했었다. 그래서 관리자 페이지에서 게시판을 생성할 때 작업 설계를 아래와 같이 했다. 1. 관리자 페이지에 현재 게시판을 리스트 시킨다. 2. 현재 존재하는 게시판 중 하위 게시판을 생성할 게시판..
221202 TIL 사용자 강제 탈퇴시키기
·
성장이야기/TIL
어제 구현하지 못해 오늘로 미뤄진 작업인 관리자 페이지에서 사용자를 강제 탈퇴하는 기능을 구현해봤다. 사용자를 DB에서 지우기 위해서는 해당 사용자의 아이디를 칼럼으로 갖고 있는 Entity도 같이 제거해줘야 했다. 사용자가 작성한 게시글, 댓글, 대댓글이 있는데 여기서도 게시글과 댓글, 대댓글 사이에 연관관계가 맺어져 있어 지우는 순서도 중요했다. 대댓글이 댓글의 아이디를 갖고 있고 댓글이 게시글의 아이디를 갖고 있기 때문에 지우는 순서를 대댓글 -> 댓글 -> 게시글 순으로 지운 다음 사용자를 제거해야 했다. 그런데 위와 같은 과정을 거치지 않고 Entity를 지울때 연관관계에 있는 모든 것들을 한 번에 같이 지우는 방법이 JPA에 존재하지 않을까 생각해서 검색을 해봤다. 역시 특정 entity를 지..
221201 TIL 관리자 페이지에서 회원 정보 불러오기
·
성장이야기/TIL
오늘의 작업 목표는 관리자 페이지에서 모든 회원 정보(아이디, 닉네임, 프로필 사진, 작성한 게시글 수, 작성한 댓글 + 대댓글 수)를 확인하고 선택한 사용자의 등급을 변경하거나 강제 탈퇴시키는 기능 그리고 사용자의 아이디를 입력하면 해당 사용자를 찾아오는 기능을 구현하는 것이었다. 우선 작업 결과에 대해 먼저 말하면 계획한 기능을 모두 구현하지 못했다. 계획을 세우면서도 약간 무리하는 것 같은 느낌도 있었지만 이 정도는 해야 일정 안에 최소한의 관리자 기능은 만들 수 있을 것 같아 진행했었는데... 그래도 회원 정보를 불러오는 것과 선택한 유저의 등급을 변경하는 기능은 구현했다. 체크박스로 선택한 사용자의 등급을 변경하는건 이전에 마이페이지에서 선택 한 게시글이나 댓글을 지우는 갓을 구현한 적이 있었기..
221130 TIL 어드민이 등업 신청 관리하기
·
성장이야기/TIL
오늘은 사용자가 등업 게시판에 등업 신청 게시글을 올리면 관리자가 이를 확인하고 승인해주는 기능을 구현했다. 우선 사용자의 페이지에서 등업 신청 폼이 필요했다. 리액트의 Hook Form을 이용해서 신청 폼을 만들고 신청 폼에서는 신청 등급, 신청 사유를 적고 해당 정보들과 신청자의 닉네임을 백엔드로 post 요청한다. 이때 중복 신청을 방지하기 위해 이미 신청 중에 있는 사용자는 신청 못하게 해야 했다. 그래서 신청한 유저 닉네임으로 신청 게시글 레파지토리에서 신청한 게시글이 존재하는지 (existsByApplicant_Name) 확인 후 있으면 예외처리를 해주었다. 성공적으로 POST 요청된 신청 게시글은 어드민 페이지에서 게시글 리스트들을 확인할 수 있다. 관리자가 신청자의 정보를 확인하고 승인이 ..
221129 TIL 어드민에 대해 몰랐던 사실
·
성장이야기/TIL
오후에 동료분이 노아님께 어드민에 관련해서 여러 가지 질문을 하시는 것을 보고 마침 어드민 관련해서 고민하고 있던 터라 같이 듣다가 궁금했던 것 몇 가지를 물어보면서 오해하고 있던 사실과 몰랐던 정보를 얻을 수 있었다. 우선 어드민을 맨 처음 기획할 때 네이버 카페처럼 서비스를 이용하는 사용자가 어드민의 역할(카페 매니저)을 얻을 수 있는 형태로 어드민 계정을 따로 관리하려고 하지는 않았다. 사실 이때만 해도 어드민 계정 같은걸 이용해 본적이 없어서 어드민 계정을 따로 관리해야 한다는 개념을 몰랐었다. 그래서 그냥 네이버 카페처럼 사용자가 어드민의 역할을 부여받으면 어드민 계정이 되는 줄 알 있던 나... 이 무튼 노아님이 어드민 계정은 어드민 레파지토리를 만들어서 관리해주는 게 좋다고 말해주셨다. 컨트..