스프린트 미션 제출 - 10 김윤기#9
Hidden character warning
Conversation
- 상품 관련 에픽 넘어가기전 테스트 연습 - 추후 supertest를 이용한 api 통합테스트
[PM-45] project-setting/auth/user PART-1
[P<-46] FEAT: item and image
c116750 to
17b3f05
Compare
|
리뷰어를 저로 달아주세요~ |
devbini
left a comment
There was a problem hiding this comment.
✨ 고생하셨습니다.
사실 코드를 쭉 봤는데, 그렇게 군더더기 없는 코드같아요.
예외처리도 잘 되어있고, DB간 데이터를 건드리는 등 비동기 관련 부분에서 try-catch도 나름 잘 되어있고.. 다만, 아래 리뷰에 달아두겠지만 예외처리를 한 두개 정도로 퉁쳐버리는 건 조심해야 할 필요가 있어요.
실무자 입장에서 몇몇 부분이 짚이는 건 코드에 리뷰를 남기긴 했는데,
passport-jwt같은 걸 이미 설치 해 두신 만큼 적극적으로 써 보는것도 좋을 것 같아요. UserService 역할을 대거 덜어낼 수 있으니까요..
또, multer로 파일 업로드를 구현하셨던데, s3로 전환까지 하시려 했고..
multer - S3 이 라이브러리를 사용 해 보는 것도 좋을 것 같아요. S3 특화 라이브러리랍니다 !
그 외 아키텍쳐 구성이나 테스트 환경을 Jest로 구성 해 본 것 까지 전체적으로 좋았답니다.
고생 많으셨습니다.
| } | ||
|
|
||
| const userId = decodedToken.userId; | ||
| console.log(userId); |
There was a problem hiding this comment.
☕ Thinking...
코드 로직상에는 아무 문제가 없지만, 가능하면 최종 배포 할 때는
이런 디버그용 코드는 모두 지워주시는 게 좋다고 생각해요 :D
| try { | ||
| decodedToken = this.verifyToken(accessToken); | ||
| } catch (error) { | ||
| throw new UnAuthorizedException(INVALID_OR_EXPIRED_TOKEN); |
There was a problem hiding this comment.
☕ Thinking...
이것도 전체적으로 문제는 없습니다만, 모든 오류가 같은 예외를 보여주고 있어서.. 나중에 유지보수할 때 조금 힘들 것 같은 걱정이 들어요.
개인적으로는 지금 코드를 유지하되, console.error를 추가해서 개발 상 대응을 할 수 있도록 유연하게 코드를 짜 볼 법 합니다.
요구사항
기본 요구사항
공통
https://panda-market-api.vercel.app의 API를 사용한 코드를 본인의 백엔드 API 코드로 변경하세요
프론트엔드 구현 요구사항
중고마켓
상품 등록하기 페이지
백엔드 구현 요구사항
상품 등록
상품 상세
좋아요 기능
- [x] $transaction을 사용해 주세요.
[ ] 상품 또는 게시글을 조회할 때, 사용자가 '좋아요'를 누른 항목인지 확인할 수 있도록 isLiked 필드를 응답 객체에 포함시켜 반환해 주세요.
에러
라우트 중복
인증
상품 기능
게시글 기능
[ ] 로그인한 사용자만 게시글에 '좋아요'를 추가하거나 삭제할 수 있습니다.
댓글 기능 인가
심화 요구사항
상태코드 (웹 API 관련)
인증
OAuth를 활용한 인증
프로젝트 구조
(생략 가능) 자유게시판 게시물 등록
프론트엔드를 Next.js로 Migration 했을 경우에만 진행해 주세요.
[ ] 게시물 등록 시 이미지 등록 기능을 구현합니다. 파일을 선택해 이미지를 업로드하고, preview를 볼 수 있도록 구현합니다. 이미지는 최대 3개까지만 등록 가능하도록 구현해 주세요.
[ ] multer 미들웨어를 사용하여 이미지 업로드 API를 구현해 주세요.
[ ] 업로드된 이미지는 서버에 저장하고, 해당 이미지의 경로를 response 객체에 포함해 반환합니다