[Node.js] CH3 개인과제 - 발제

GDORI·2024년 9월 9일
0

Node.js

목록 보기
7/11

개발가이드

  1. 웹 프레임워크 사용 - Express
  2. 패키지 매너지 - Yarn
  3. 모듈 시스템 사용
  4. 데이터베이스 - AWS RDS
  5. ORM - Prisma

필수 기능

1. 인증 미들웨어 구현

  • Request Authrization 헤더에서 JWT 가져와서 인증 여부 확인
  • 클라이언트에서 JWT 쿠키로 전달하지 말 것
  • 오로지 Authrization 헤더에서만 전달
  • 인증 실패 시 Status Code , 에러메세지 전달
  • 인증 성공 시 req.locals.user 인증정보 respon
  • API JWT인증 필요 마킹부분 미들웨어 거칠 것

2. 데이터베이스 모델링

  • 아이템 테이블
  • 계정 테이블
  • 캐릭터 테이블 / 하나의 계정에는 여러 캐릭터 보유 가능
  • 캐릭터-인벤토리 테이블 / 캐릭터가 보유했으나 장착하지 않은 아이템 정보
  • 캐릭터-장비창 테이블 / 캐릭터 장착 아이템 정보

3. API 구현

  • 회원가입 API
    1) 비밀번호 해싱된 값 저장
    2) 아이디 중복 불가 및 영어 소문자 + 숫자 조합 구성
    3) 비밀번호 최소 6자 이상, 비밀번호 확인란과 일치
    4) 회원가입 성공 시 비밀번호를 제외 한 사용자 정보 반환

  • 로그인 API
    1) 아이디, 비밀번호로 로그인 요청
    2) 계정정보 불일치 시 Status Code, 에러메세지 반환 / 아이디 존재하지 않는 경우, 비밀번호 불일치
    3) 로그인 성공 시 액세스 토큰 생성 및 반환 / 액세스 토큰의 Payload에 로그인 계정 ID 삽입

  • 캐릭터 생성 API(JWT 인증 필요)
    1) 캐릭터명 request 전달받음, 생성 완료 시 response로 캐릭터 ID 반환
    2) 이미 존재하는 캐릭터명 생성 시도 시 생성 불가
    3) 캐릭터 기본스탯 health:500 / power:100 / money:10000 부여

  • 캐릭터 삭제 API(JWT 인증 필요)
    1) 삭제할 캐릭터 ID params로 전달받음
    2) 내가 보유한 캐릭터가 아닌 경우 삭제 불가

  • 캐릭터 상세 조회 API
    1) 조회할 캐릭터 ID params로 전달받음
    2) 캐릭터 이름, HP, 힘 스탯 반환
    3) 내 캐릭터를 조회할 때에는 게임머니까지 반환

  • 아이템 생성 API
    1) 아이템 코드, 아이템 명, 아이템 능력, 아이템 가격 request 전달 받아서 등록
    2) 아이템 능력은 JSON 포맷으로 전달받음

  • 아이템 수정 API
    1) 아이템 코드 params로 전달받음
    2) 아이템 명, 아이템 능력 request로 전달받음
    3) 아이템 가격은 수정 불가

  • 아이템 목록 조회 API
    1) 아이템 코드, 아이템 명, 아이템 가격 내용만 조회
    2) 아이템 생성 API를 통해 생성된 모든 아이템들이 목록으로 조회할 수 있어야 함

  • 아이템 상세 조회 API
    1) 아이템 코드를 params로 전달받아 아이템 코드, 능력, 가격을 조회

도전 기능은 필수를 완벽히 구현하고 정리하겠다...😁

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글