본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.
팀프로젝트가 본격적으로 진행되는 날
주말 동안은 각자 자기가 맡은 부분을 구현함
상품 게시물쪽 파트가 시간이 많이 늦어져 내가 붙여서 게시물 관련 CRUD를 구현함
게시물 작성을 구현할 때, 두 가지 쿼리가 한 트랙젝션에서 처리되어야 하기 때문에 prisma의 트랜젝션 문법을 통해 구현함
월요일에 완성하지 못한 상품 게시물관련 API들을 마무리함
추가적으로 게시물 좋아요, 좋아요 취소 기능을 구현함
좋아요 기능은 생각보다 쉽게 구현이 되었지만 좋아요 순으로 정렬하는 코드에서 조금 오래 걸림
좋아요를 누른 사용자의 ID와 게시물 ID를 저장하는 좋아요 테이블이 있기 때문에 좋아요의 수를 좋아요 테이블에서 계산해서 가져와야 함
찾아보니 prisma
의 _count
라는 쿼리를 이용해서 간단하게 구현이 가능했음
구현할 기능은 이제 명예의 전당의 기능들이 남아있었음
나는 그 중 multer
를 이용한 이미지 업로드하는 기능을 맡음
정확히는 S3
저장소를 이용한 multerS3
를 활용해서 구현해야 함
튜터님께서 사용하는 방법을 블로그로 잘 설명해주셔서 적용하는 것은 어렵지 않았음
CredentialsProviderError: Could not load credentials from any providers
라는 자격 관련한 에러가 발생함
찾아보니 aws-sdk
의 버전 변화로 인한 코드의 구조가 바뀌었다고 함
현충일로 인한 휴일
하지만 팀프로젝트 제출이 다음날이기 때문에 팀원들 모두 나와서 프로젝트를 진행함
그래도 대부분의 구현이 마무리 되어서 에러를 해결하고 문서작업을 진행함
상품 구매/판매 내역 관련한 코드에서 에러가 많이 발생해서 수정에 시간이 걸림
대망의 팀프로젝트 제출 및 발표하는 날
대부분의 기능을 구현했지만, 조금 더 고도화가 필요하기에 계속해서 테스트를 함
체크하다보니 팔로우한 사용자의 게시물을 보는 API가 구현되지 않았음
서둘러서 기능을 구현했고 여기서 Optional Middleware
라는 개념을 알게 됨
Optional Middleware
는 해당 미들웨어를 어떤 경우에는 사용하고 어떤 경우에는 사용하지 않도록 만드는 방법임
그래서 나는 Optional Middleware
를 통해서 게시물 목록 조회하는 API에서 로그인한 경우에는 팔로우한 사용자의 게시물을 볼 수 있는 필터를 만듦
팀프로젝에서 너무 달려서 주말에는 휴식을 취하면서 팀원들과 코드 리뷰를 진행할 예정임
코드 리뷰에서는 각자가 작성한 코드를 다른 팀원들에게 설명해주는 것임
다음주에는 Node.js 심화 강의와 개인과제가 진행됨
새로운 팀원들을 만나고 새로운 내용을 배운다고 하니 굉장히 기대됨
중간에 이런저런 일들이 있었지만, 그래도 무사히 발표까지 끝냈음
팀프로젝트를 진행하면서 새로운 내용들을 많이 알게 되었음
S3를 이용한 multer
, Optional Middleware
, nodemailer
등 기존에 활용해보지 못한 기술들을 이렇게 사용해볼 수 있는 기회가 생겨서 굉장히 좋았음
특히 S3를 이용한 multer
는 약간 어떤 기능인지 알았지만 구체적인 사용 방법이나 활용 방법은 알지 못했는데, 직접 이미지를 업로드하는 과정을 만들어보니 여러가지 방법으로 활용이 가능하겠다고 생각했음