Project 1-3 1주차 회고

Yuni·2023년 5월 21일
0

Project1. HOLO

목록 보기
3/4
post-thumbnail

1주차 진행 내용

  1. 피그마 화면 구현, 디비스키마 구조 작성 완료
  2. 백엔드 유저 기능 80% 구현 완료
  3. 프론트 페이지 상품(장바구니, 상품목록, 상품상세), 유저 페이지(정보수정, 주문내역), 푸터 헤더 완료

1주차 배운 점

  1. 프론트와 백이 통신하기 위해 API가이드 문서가 필요하다.(🔗작성된 API명세서)
  2. 프론트와 연결 전에도 포스트맨 사용으로 기능구현 테스트 가능
    *포스트맨을 처음 사용할 때 많이 애먹어서 포스트맨 사용하는 법을 포스팅으로 따로 정리하려고 한다.
  3. 코드구조의 통일화(?!). 보기좋은 코드가 유지보수도 쉽다! 는 알고 있었지만 코드 짜는 방법이 다 이렇게 다를 줄 몰랐지! 백엔드에선 모두가 다른 모양으로 코드를 짜고 있어서 나중에 다 뒤엎고 다시 짜야 했다.

트러블슈팅

발생한 이슈들

  1. 포스트맨 연결이슈

    // 회원가입 로직
      async register(req, res) {
    
          // req.body에서 필요한 정보 받아옴
          const { userId, password, email, address, phoneNumber, userName, termsAgreed } = req.body; 

    => req.body가 아닌 req로 받아와서 해결완료 (항상 콘솔을 찍어보자..)

  2. mongoDB 클라우드 IP별 연결해제 이슈
    아이피가 달라질 때 마다 계속 IP를 추가해줘야 했으나, IP설정에서 어디서든지 db접근이 가능 설정으로 이슈 해결

  3. mongoDB objectId 이슈
    처음 우리는 objectid 필드를 아래와 같이 만들어 줬다.

    	userId: {
     		type: mongoose.Schema.Types.ObjectId,
     		ref: "User",
     		required: true,
         },

    계속 포스트맨에서는 문제없이 넘어가는데 mongodb 시스템엔 db가 쌓이지 않는 이슈 발생 답은 object id는 내가 만드는 것이 아님 아래와 같이 objectId가 필요한 경우에는 삭제, 타 스키마에서 가져올 때는 타 스키마 그대로 value를 줘서 해결완료

    userId: { // 사용자ID 
        type: String,
        required: true,
        unique: true,
      },

profile
Look at art, make art, show art and be art. So does as code.

0개의 댓글