TIL 79일차 - 폴더 리스트 잠시 보류, 피드 좋아요, 닉네임 변경 기능 구현

박찬웅·2023년 4월 25일
0

항해99

목록 보기
84/105

23년 4월 25일

시도 한 것, 알게 된 점

어제 시도 했던 부분은 계속해서 도전했지만, 우선 구현되지 못해서, 오후에 추가적으로 프론트분들과 회의 한 결과, 해당 피드에서 좋아요 기능이랑 댓글 작성 기능을 추가 하기로 했다. 다만 좋아요 기능은 마이페이지에서도, 맛집 상세조회에서도 이런 기능들을 모두 다 넣어야 되고, 이 3가지가 모두 어떻게 구동할지가 아직 확실치가 않아서, 오늘은 좋아요 기능 구현을 했고, 추가적으로 마이페이지에서 본인이 사용하고 있는 닉네임을 변경하는 API를 작성하기로 했다. 같이 하는 팀원이 어제 구현 하려고 했던 본인이 즐겨찾기 스크랩을 한 카페들을 구현하는 것을 계속 해보기로 하는 것으로 방향을 잡았다.
오늘 구현한 부분은 피드 좋아요 API 기능이였는데, 이 부분은 지난번 클론코딩때 했던, 게시글 좋아요 API 기능이랑 동일하였다. 하지만 차이점이라면 그때는 게시글 기준이였고, 이번에는 피드로 바뀐게 전부였다. 일단 DB를 새로 추가 하기로 했는데 해당 피드의 좋아요 체크하기 위한 Likes 테이블이랑 해당 피드의 댓글을 작성하는 FeedComments 테이블을 새로 만들었다.

ERD는 현재 이렇게 추가 되었다.

이제 좋아요 API 기능 구현하기 위해서 기존에 있었던 스크랩이랑 거의 비슷했기 때문에 팀원 한분이 코드 작성한 것을 참고하여서 구현을 하는데 마무리 하였다.
그리고 마이페이지의 상세페이지에서 해당 피드의 좋아요를 한 총 개수 구하는 것도 추가적으로 구현을 마무리 하였다.
사실 피드 페이지 부분에서도 좋아요 개수 역시 추가 해야 했지만, 피드 부분은 내가 아닌 팀원분이 구현 했던 부분이라 이 부분은 아직 건들지 않았다.
추가적으로 기존 마이페이지에서 닉네임을 바꾸는 기능도 추가 하였다. 기존 Users 테이블에서 nickname만 바꾸면 끝이였기 때문에 PATCH를 사용해서 구현을 하였다.

patchNickname= async(req, res, next) => {
        const {nickname} = req.body
        const { userId } = res.locals.user;
        try {
            if (!nickname) {
                return res.status(404).json({ errorMsg : "닉네임을 입력해주세요." })
            }
            await Users.update({nickname},{where: {userId}})
            res.status(200).json({ msg : "닉네임 변경을 성공했습니다."})
    } catch(error) {
        console.log(error);
            res.status(400).json({ errorMsg: "예기치 못한 오류가 발생했습니다" });
            return;
        }
    }

이렇게 해서 오늘은 비교적 빨리 끝났고, 나머지는 팀원 한 분이 구현하고 있는 폴더 리스트 생성 구현을 조금 더 살펴 보는 것으로 마무리 하였다. 물론 여전히 해결되지는 않았기에 내일 더 살펴 볼 생각이고, 뭔가 새로운 기능들이 점점 추가 되고 있어서 빠듯한 느낌을 들고 있지만, 그래도 스크랩한 폴더 추가해서 해당 피드들을 등록 하는 구현만 빼고는 나머지는 잘 되고 있는 편인 것 같다.

앞으로 할 일

내일은 댓글 기능을 어떻게 구현할지, 프론트분이랑 디자이너랑 의논하고 그 부분의 API를 새로 추가 할 계획이다. 그리고 어제부터 계속 막혔던 폴더 페이지도 더 살펴볼 예정이다.

profile
향해 13기 node.js 백앤드

0개의 댓글