221130 TIL 어드민이 등업 신청 관리하기
·
성장이야기/TIL
오늘은 사용자가 등업 게시판에 등업 신청 게시글을 올리면 관리자가 이를 확인하고 승인해주는 기능을 구현했다. 우선 사용자의 페이지에서 등업 신청 폼이 필요했다. 리액트의 Hook Form을 이용해서 신청 폼을 만들고 신청 폼에서는 신청 등급, 신청 사유를 적고 해당 정보들과 신청자의 닉네임을 백엔드로 post 요청한다. 이때 중복 신청을 방지하기 위해 이미 신청 중에 있는 사용자는 신청 못하게 해야 했다. 그래서 신청한 유저 닉네임으로 신청 게시글 레파지토리에서 신청한 게시글이 존재하는지 (existsByApplicant_Name) 확인 후 있으면 예외처리를 해주었다. 성공적으로 POST 요청된 신청 게시글은 어드민 페이지에서 게시글 리스트들을 확인할 수 있다. 관리자가 신청자의 정보를 확인하고 승인이 ..
221129 TIL 어드민에 대해 몰랐던 사실
·
성장이야기/TIL
오후에 동료분이 노아님께 어드민에 관련해서 여러 가지 질문을 하시는 것을 보고 마침 어드민 관련해서 고민하고 있던 터라 같이 듣다가 궁금했던 것 몇 가지를 물어보면서 오해하고 있던 사실과 몰랐던 정보를 얻을 수 있었다. 우선 어드민을 맨 처음 기획할 때 네이버 카페처럼 서비스를 이용하는 사용자가 어드민의 역할(카페 매니저)을 얻을 수 있는 형태로 어드민 계정을 따로 관리하려고 하지는 않았다. 사실 이때만 해도 어드민 계정 같은걸 이용해 본적이 없어서 어드민 계정을 따로 관리해야 한다는 개념을 몰랐었다. 그래서 그냥 네이버 카페처럼 사용자가 어드민의 역할을 부여받으면 어드민 계정이 되는 줄 알 있던 나... 이 무튼 노아님이 어드민 계정은 어드민 레파지토리를 만들어서 관리해주는 게 좋다고 말해주셨다. 컨트..
메가테라 22주차 주간회고 (프로젝트 6주차 회고)
·
성장이야기/주간회고
22주 차 회고 (프로젝트 6주 차 회고) 메가 테라 22주 차를 진행하면서 있었던 일을 종합해서 회고하였습니다. 6주 차 작업 목표 6주 차의 목표를 세울 때 평소보다 더 타이트하게 잡았다. 그 이유는 디자인 주를 제외하고 프로젝트 마감까지 2주가 남았었는데 또 한 주는 관리자 페이지를 만들어야 했기 때문에 6주 차 동안에 사용자가 사용하는 기능은 모두 완성해야 했기 때문이다. 프로젝트 6주 차의 구체적인 작업 목표를 나열해봤다. 1. 마이 페이지(유저 정보 페이지)를 완성한다. 자신의 정보를 확인하고 수정할 수 있다.(닉네임, 프로필 사진) 마이 페이지에서 자신이 작성한 게시글, 댓글 수를 확인할 수 있다. 자신이 작성한 게시글, 댓글을 삭제할 수 있다. 자신이 좋아요를 누른 게시글을 확인 및 좋아요..
221126 TIL 게시판에서 원하는 게시물 찾기
·
성장이야기/TIL
오늘은 게시판 서비스에 없으면 불편한 기능인 검색 기능을 구현하려고 한다. 게시판에 검색기능이 없다고 생각해보자 만일 게시판에 게시글이 3, 4개 정도 있으면 찾으려는 게시물을 한눈에 찾을 수 있겠지만 게시물이 20, 30개만 돼도 찾으려는 게시물 하나를 찾기 위해서 2페이지 가서 찾고 3페이지 가서 찾는 과정이 필요하다. 사용자 입장에서 이는 매우 불편하기 때문에 게시판에서 검색기능은 필수라고 생각이 된다. JPA에서 검색 기능 검색을 하기 위해선 검색한 단어가 포함된 게시글들을 불러와야 하는데 JPA를 사용하면 편리하게 Repository의 메서드 이름으로 쿼리를 지정해서 찾을 수 있다. List posts = postRepository.findByTitleContaining(keyword); 위와 ..
221125 TIL OAuth 2.0 알아보기
·
성장이야기/TIL
요즘 대부분의 웹/앱 서비스를 사용하면 필수로 만나게 되는 기능이 있다. 바로 해당 서비스의 사이트에 회원가입하지 않고도 다른 서비스의 계정을 가져와 사용할 수 있도록 하는 기능이다. 로그인을 하려고 하면 하단에 '카카오 계정으로 로그인', '네이버 계정으로 로그인' 등과 같이 버튼만 클릭하면 간편하게 로그인할 수 있는 기능을 쉽게 접할 수 있다. 오늘은 그 기능을 프로젝트에 적용하기 위해 방법들을 찾아봤다. 위와 같이 타 서비스의 계정을 사용해서 인증하는 방식을 OAuth 2.0 인증 방식이라고 한다. OAuth2.0 OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는, 접근 ..
221124 TIL axios.delete 요청 시 데이터 전달하기
·
성장이야기/TIL
오늘은 마이 페이지의 게시글 리스트에서 체크한 게시글을 삭제하는 기능을 구현했다. 처음에 작업 설계할 때 이 기능을 어떻게 구현해야 할지 전혀 감이 잡히지 않아 작업 설계하는데 어려움을 겪었다. 우선 delete 요청을 기존에 게시글 삭제할때 사용하던 api요청을 사용할지 새로 만들어서 새로운 api 요청을 사용할지 고민을 했었고 두 번째로 체크박스에 선택한 게시글의 아이디를 어떻게 저장하고 어떻게 지워야 할지 기능 구현에 대한 고민을 했었다. 우선 delete요청 하는 방법으로는 두 가지 방법을 생각했는데 그전에 체크한 게시글의 아이디를 저장하는 방법부터 정리해보자. 첫 번째로 체크한 게시글의 아이디를 저장할 배열을 useState로 만들어준다. 그리고 checkbox 타입인 input에 onChang..