개발자의 logs
항해99 주특기 숙련주차 개인과제 개인체크용 (Node.js) 본문
회원 가입 API닉네임, 비밀번호, 비밀번호 확인을 request에서 전달받기닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기비밀번호 확인은 비밀번호와 정확하게 일치하기데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 response에 포함하기
로그인 API닉네임, 비밀번호를 request에서 전달받기로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지 않는 정보가 있다면 "닉네임 또는 패스워드를 확인해주세요"라는 에러 메세지를 response에 포함하기
로그인 검사아래 API를 제외하고 모두 로그인 토큰을 전달한 경우만 정상 response를 전달받을 수 있도록 하기회원가입 API로그인 API게시글 목록 조회 API게시글 조회 API댓글 목록 조회 API
로그인 토큰을 전달하지 않은 채로 로그인이 필요한 API를 호출한 경우 "로그인이 필요합니다." 라는 에러 메세지를 response에 포함하기로그인 토큰을 전달한 채로 로그인 API 또는 회원가입 API를 호출한 경우 "이미 로그인이 되어있습니다."라는 에러 메세지를 response에 포함하기
- 댓글 목록 조회 API
로그인 토큰을 전달하지 않아도 댓글 목록 조회가 가능하도록 하기조회하는 게시글에 작성된 모든 댓글을 목록 형식으로 response에 포함하기제일 최근 작성된 댓글을 맨 위에 정렬하기
- 댓글 작성 API
로그인 토큰을 전달했을 때에만 댓글 작성이 가능하도록 하기로그인 토큰을 전달하지 않은 채로 댓글 작성란을 누르면 "로그인이 필요한 기능입니다." 라는 에러 메세지를 response에 포함하기댓글 내용란을 비워둔 채 API를 호출하면 "댓글 내용을 입력해주세요" 라는 에러 메세지를 response에 포함하기
- 댓글 수정 API
로그인 토큰에 해당하는 사용자가 작성한 댓글만 수정 가능하도록 하기API를 호출한 경우 기존 댓글의 내용을 새로 입력한 댓글 내용으로 바꾸기
- 댓글 삭제 API
로그인 토큰에 해당하는 사용자가 작성한 댓글만 삭제 가능하도록 하기
➕ 과제를 다 하셨다면?
- 회원가입 테스트 코드 작성
- 회원가입시 구현한 아래 조건을 검사하는 테스트 코드를 작성하기
- 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 이루어져 있어야 합니다.
- 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패합니다.
- 비밀번호 확인은 비밀번호와 정확하게 일치해야 합니다.
- 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다."라는 에러 메세지를 response에 포함하기
- 테스트 코드 실행 시 실제로는 데이터베이스에 연결되지 않도록 하기
- 각 조건 별로 2개 이상의 테스트 케이스가 존재하도록 하기
- 회원가입시 구현한 아래 조건을 검사하는 테스트 코드를 작성하기
- 내 블로그 글에 좋아요 기능 달기
- 로그인 토큰을 전달했을 때에만 좋아요 할 수 있게 하기
- 로그인 토큰에 해당하는 사용자가 좋아요 한 글에 한해서, 좋아요 취소 할 수 있게 하기
- 게시글 목록 조회시 글의 좋아요 갯수도 같이 표출하기
- 내 프로젝트에 swagger 적용해보기
- swagger란? Open Api Specification(OAS)를 위한 프레임워크 입니다. API들이 가지고 있는 스펙(spec)을 명세, 관리할 수 있으며, 백엔드와 프론트엔드가 협업할 때 사용할 수 있습니다!
⚠️ Warning : 꼭 지켜야 할 것과 하지 않아도 되는 것!
- 이것은 꼭 지켜주세요(Do's)
- 과제 요구 사항은 모두 지켜주세요. 특정 기능을 임의로 배제하면 안 됩니다!
- 이것은 하지 않으셔도 돼요(Don'ts)
- 프론트엔드 페이지는 설계하지 않으셔도 됩니다. 여력이 남으시면 하셔도 좋지만, 일단은 API 구현과 설계에 집중해주세요!
- 과제 추가 기획 때문에 고민하지 마세요. 위에 작성된 과제 요구 사항만 지키면 됩니다!→ 나쁜 예 (❌): "다른 기능이 더 있어야 하지 않을까?"
- → 좋은 예 (⭕): "아하, 결국 express 로 기본 CRUD와 로그인이 가능한 서비스를 만들고 배포하면 되는거구나!"
예시 홈페이지 : http://54.180.113.107/
'개발자 학습노트 > * 학습일기*' 카테고리의 다른 글
항해 99 - 4주차 WIL : undefined / ORM, sql vs no sql (0) | 2022.06.05 |
---|---|
항해 99 - 3주차 WIL : Be the sparta with together. / REST API, Package.json (0) | 2022.05.29 |
항해 99 - 2주차 WIL : 헬로 스파르타, KEEP 스파르타 / 자바스크립트 역사, ES (0) | 2022.05.22 |
항해 99 - 1주차 WIL : 묵묵히 걸어 들어가다 (0) | 2022.05.15 |
깃허브 - 핵심 쏙쏙 Git - 2주차 정리 (0) | 2022.05.07 |
Comments