Skip to content
This repository was archived by the owner on Oct 16, 2024. It is now read-only.
This repository was archived by the owner on Oct 16, 2024. It is now read-only.

과제 코드 리뷰 #4

@mindori

Description

@mindori

전체적으로 코드가 깔끔하고 일관된 스타일을 유지하고 있으며 기능별 분리가 잘 되어 있어 유지보수성이 높아 보입니다. 고생하셨습니다!

prisma/schema.prisma

  • Prisma 스키마 정의가 체계적으로 잘 되어 있습니다. enum을 활용하여 이력서 상태와 유저의 성별을 명확하게 정의한 점이 좋습니다.
  • 테이블 간의 관계 정의에서 onDelete: Cascade 옵션을 사용하여 관련 데이터가 함께 삭제되도록 한 점이 한 눈에 보기 쉽고 일관성이 있습니다.

src/middlewares/auth.middleware.js

  • JWT 토큰을 사용한 인증 미들웨어는 요청의 각 단계에서 사용자가 유효한지 검증하는 데에 잘 활용될 것 같습니다.
  • authorization.split(" ")으로 Bearer 토큰을 파싱하는 부분이 간결하고 명확해서 좋습니다.
  • next() 호출 전에 사용자 정보를 요청 객체에 추가함으로써 추후에 요청 처리를 하는 함수에서 사용자 정보를 쉽게 가져올 수 있도록 한 점도 좋아요!

src/middlewares/error-handler.middleware.js

  • 중복된 오류 이름인 "ValidationError"와 "PrismaClientValidationError"를 함께 처리하려고 하셨는데 이 부분은 || 연산자를 그대로 사용하면 정확한 동작을 하지 않습니다. 대신에 아래와 같이 수정하면 됩니다:
if (err.name === "ValidationError" || err.name === "PrismaClientValidationError")
  • 오류 발생 시 로깅을 하는 것은 좋으나 서버의 오류 스택 정보가 클라이언트에게 표시되지 않게 주의해야 합니다.

src/middlewares/logger.middleware.js

  • 로깅을 위한 미들웨어 설계가 잘 되어 있어, 모든 요청에 대한 정보를 기록할 수 있도록 되어 있습니다.
  • 그러나 rea가 아닌 req를 인자로 사용해야 합니다. 오타 수정이 필요해 보입니다.

src/routes/users.router.js

  • 회원가입, 로그인, 유저 정보 조회 API가 모두 잘 구성되어 있습니다.
  • 비밀번호 6자 이상 길이 확인이나 추가적인 유효성 검사를 해주는 것은 사용자 보안을 위해서 매우 중요한 부분입니다.
  • 이메일 존재 여부 확인과 비밀번호가 일치하는지 검증하는 로직도 잘 구현되어 있습니다.

src/routes/resumes.router.js

  • 이력서 관련 CRUD 작업이 RESTful API 형식에 맞게 잘 구현되어 있습니다.
  • 상태 변경 시 toUpperCase()로 처리한 것은 가능한 입력 오류를 줄여주는 좋은 접근법입니다.
  • 각 API마다 권한 체크를 정확히 하고 계시네요!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions