1. 인증 미들웨어 구현
- JWT를 사용하여 사용자와 파트너 인증 미들웨어를 구현했다.
- 토큰 검증 및 사용자/파트너 정보 확인 로직을 추가했다.
- 에러 핸들링을 통해 토큰 만료, 유효하지 않은 토큰 등의 상황을 처리했다.
2. 레스토랑 CRUD API 구현
- 파트너용 레스토랑 라우터를 구현했다.
- POST, GET, PUT, DELETE 메서드를 통해 전체 CRUD 기능을 구현했다.
- 각 엔드포인트에 인증 미들웨어를 적용하여 보안을 강화했다.
3. 장바구니 기능 구현
- 장바구니에 메뉴를 추가하는 기능을 구현했다.
- 클래스 내부 메서드 호출 시 this 키워드를 사용해야 함을 배웠다.
- 비동기 메서드 호출 시 await 키워드의 중요성을 이해했다.
4. Prisma 외래 키 제약 조건 해결
- CASCADE 삭제 옵션을 통해 연관 데이터 삭제 문제를 해결했다.
- 스키마 수정 후 마이그레이션을 통해 변경사항을 적용했다.
발생한 문제점들과 해결방법
라우터 등록 문제
파일 경로와 import 문을 올바르게 수정하여 해결했다
컨트롤러 메서드 undefined 에러
컨트롤러 클래스의 메서드를 올바르게 export하여 해결했다.
에러 메시지 불일치
적절한 도메인의 에러 메시지로 수정하여 해결했다.
배운 점. 인증 미들웨어 구현
JWT를 사용하여 사용자와 파트너 인증 미들웨어를 구현했다.
토큰 검증 및 사용자/파트너 정보 확인 로직을 추가했다.
에러 핸들링을 통해 토큰 만료, 유효하지 않은 토큰 등의 상황을 처리했다.
2. 레스토랑 CRUD API 구현
파트너용 레스토랑 라우터를 구현했다.
POST, GET, PUT, DELETE 메서드를 통해 전체 CRUD 기능을 구현했다.
각 엔드포인트에 인증 미들웨어를 적용하여 보안을 강화했다.
3. 장바구니 기능 구현
장바구니에 메뉴를 추가하는 기능을 구현했다.
클래스 내부 메서드 호출 시 this 키워드를 사용해야 함을 배웠다.
비동기 메서드 호출 시 await 키워드의 중요성을 이해했다.
4. Prisma 외래 키 제약 조건 해결
CASCADE 삭제 옵션을 통해 연관 데이터 삭제 문제를 해결했다.
스키마 수정 후 마이그레이션을 통해 변경사항을 적용했다.
발생한 문제점들과 해결방법
라우터 등록 문제
파일 경로와 import 문을 올바르게 수정하여 해결했다
컨트롤러 메서드 undefined 에러
컨트롤러 클래스의 메서드를 올바르게 export하여 해결했다.
에러 메시지 불일치
적절한 도메인의 에러 메시지로 수정하여 해결했다.
배운 점
Express 라우터 구조화의 중요성을 이해했다.
Prisma의 관계 설정과 마이그레이션 관리 방법을 익혔다.
클래스 기반 서비스 구현 시 this 바인딩의 중요성을 배웠다.
