아이템 시뮬레이터를 만드는 과제를 받았다.
기본적인 필수 구현 조건들은 모두 제공받았다.
어떻게 만들어야 할 지를 공부해 온 것들을 토대로 만들어야한다.
우선 엑셀표를 만들어 정리를 해보았다.

Prisma를 사용해 스키마 내 모델 db를 어떤식으로 만들어야할지 정리했다.
완성된 정리는 아니라서 다듬어가면서 수정될 수 있다.

정의된 Prisma의 스키마 내 모델 db를 토대로 기능을 구현하려고 한다.
이번 과제에서 중요한 요소는 네가지다.
상위 표에 적힌 기능 구현
인증 및 보안 기능 구현
JWT 인증 미들웨어 - API간의 권한 부여
비밀번호 해시 처리
인증 실패시 HTTP 상태코드 및 에러메시지 반환
에러 처리 및 예외 상황 대응
잘못된 데이터 형식 요청에 대한 적절한 에러 처리
인증 오류에 대한 적절한 에러 처리
데이터베이스 모델링 및 연동
Prisma ORM을 활용한 DB 구조 모델링, DB 연동
RDB의 특징인 1:1, 1:N, N:M 관계 등의 구현
과제를 수행해내기 위해서 아래의 기능들도 구현해보려고 한다.
Authentication(인증) - Autorization(인가)
베어러 토큰
JWT 검증(인증)
해싱
액세스 토큰 - 리프레쉬 토큰
유효성 체크