<aside> ✅ 여러분이 프로젝트를 진행할 때 작성해야 하는 기능 To Do의 기준점을 제시합니다. 문서에 작성된 필수 항목은 반드시 프로젝트 기획에 포함해주세요.
*너무 높은 난이도의 기능들을 To do list에 포함할 경우 기간 내 결과물을 만들지 못할 수 있으니 팀원과 충분히 협의 후 결정해주세요.
</aside>
항목 | 필수 여부 | 포지션 | 난이도 |
---|---|---|---|
JWT를 이용한 로그인 구현 | 필수 | 프론트엔드, 백엔드 | ★ |
권한 부여(Authorization)에 따른 기능의 접근 제한 구현 | |||
(예- 일반 사용자, 관리자 권한) | 필수 | 프론트엔드, 백엔드 | ★ |
OAuth 2.0을 이용한 소셜 로그인 | 권장 | 프론트엔드, 백엔드 | ★ |
TypeScript 언어 사용 | 도전 | 프론트엔드 | ★★★ |
next.js를 사용한 Server Side Rendering 적용 | 도전 | 프론트엔드 | ★★★ |
AWS lambda를 사용한 Serverless 아키텍처 도입 | 도전 | 백엔드 | ★★★ |
React custom hook 만들어서 쓰기 | 도전 | 프론트엔드 | ★★★ |
socket.io를 이용한 실시간 통신 | 신중 | 프론트엔드, 백엔드 | ★★★★ |
redis를 이용한 캐싱 | 신중 | 백엔드 | ★★★★ |
Create React App을 사용하지 않고 빌드 과정 직접 구성 | 신중 | 프론트엔드 | ★★★★ |
항목 | 필수 여부 | 포지션 | 난이도 |
---|---|---|---|
회원가입, 로그인, 로그아웃, 마이페이지, 회원탈퇴 기능 구현 | 필수 | 프론트엔드, 백엔드 | ★ |
회원가입, 로그인 및 회원정보 수정 시 유효성 검사 | 필수 | 프론트엔드 | ★ |
소셜 로그인 외 서비스 자체 회원가입 기능 제공 | 필수 | 프론트엔드 | ★ |
회원가입 없이 '체험하기' 형식으로 가볍게 기능을 이용할 수 있는 장치 마련 | 필수(Final only) | 프론트엔드 | ★ |
회원 탈퇴나 리소스 삭제시 확인(confirm) 모달 제공 | 권장 | 프론트엔드 | ★ |
마이페이지를 통해 사용자 개인정보 수정 기능 제공 | 필수 | 프론트엔드 | ★ |
(소셜 로그인이 아닐 경우) 비밀번호 수정 기능 제공 | 필수 | 프론트엔드 | ★ |
라이브러리를 사용하지 않고 React 컴포넌트 직접 작성 (탭, 드랍다운, 모달 등) | 필수 | 프론트엔드 | ★ |
검색 필터링 기능 | 권장 | 프론트엔드, 백엔드 | ★★★ |
상품 혹은 데이터를 API로 받아 와서 리스트 구현 | 권장 | 프론트엔드 | ★★ |
3rd-party API 호출 | 권장 | 프론트엔드 | ★ |
모바일 환경 대응 및 반응형 웹 | 권장 | 프론트엔드 | ★★ |
라이브러리를 사용하지 않고 React 컴포넌트 직접 작성 | 권장 | 프론트엔드 | ★★★ |
S3로 파일 업로드 | 권장 | 프론트엔드, 백엔드 | ★★★ |
회원 가입시 인증 메일 발송 | 권장 | 프론트엔드, 백엔드 | ★★★ |
reCAPTCHA 사용 | 도전 | 프론트엔드 | ★★ |
스케쥴러(cron)에 의한 메일 전송 | 도전 | 백엔드 | ★★★ |
위치 기반 기능 | 도전 | 프론트엔드, 백엔드 | ★★★ |
국제화 (i18n) 적용 | 도전 | 프론트엔드 | ★★★ |
무한 스크롤 | 도전 | 프론트엔드 | ★★★ |
스크롤에 의한 애니메이션 적용 (greensock 사용 권장) | 도전 | 프론트엔드 | ★★★ |
Socket.io를 이용한 채팅 기능 | 도전 | 프론트엔드, 백엔드 | ★★★★ |
리포트 생성(pdf) | 도전 | 프론트엔드, 백엔드 | ★★★ |
지도 API 사용 (오버레이, 핀) | 도전 | 프론트엔드 | ★★★★ |
라이브러리를 사용하지 않은 드래그 앤 드랍 | 도전 | 프론트엔드 | ★★★★ |
d3를 이용한 시각화 | 도전 | 프론트엔드 | ★★★★ |
퍼지(fuzzy) 검색 | 도전 | 백엔드 | ★★★★ |
Canvas, SVG를 활용한 동적인 이미지 표시 | 도전 | 프론트엔드 | ★★★★★ |
추천 시스템 구현 | 도전 | 백엔드 | ★★★★★ |
lighthouse 각 항목 70점 이상 통과 (PWA 제외) | 도전 | 프론트엔드 | ★★★★★ |
항목 | 필수 여부 | 포지션 | 난이도 |
---|---|---|---|
N:M (다대다) 관계 설정 | 필수 | 백엔드 | ★ |
ERD (DB Diagram) 작성 | 필수 | 백엔드 | ★ |
API 작성 툴 (Swagger, Postman, Gitbook API) 을 사용하여 요청/응답 및 JSON 키/값 형식 기술 | 필수 | 백엔드 | ★★ |
ORM 사용 (sequelize, typeorm 권장) | 권장 | 백엔드 | ★ |
근거가 분명한 NoSQL 도입 | 권장 | 백엔드 | ★★ |
페이지네이션 구현 | 권장 | 백엔드 | ★★★ |
GraphQL 장점이 반영된 적용 | 신중 | 백엔드, 프론트엔드 | ★★★★ |
항목 | 필수 여부 | 포지션 | 난이도 |
---|---|---|---|
[코드] precommit 단계에서 semistandard 적용 | 필수 | 프론트엔드, 백엔드 | ★ |
[릴리즈] 깃허브 커밋메세지 규칙 합의 | 필수 | 프론트엔드, 백엔드 | ★ |
[코드] 버전 규칙 합의 | 필수 | 프론트엔드, 백엔드 | ★ |
[릴리즈] PR 형식 합의 | 권장 | 프론트엔드, 백엔드 | ★ |
[배포] 배포 자동화 설정 | 권장 | 백엔드 | ★ |
[배포] 도메인 구매 및 HTTPS 배포 | 권장 | 백엔드 | ★★★ |
[테스트] 백엔드 테스트 코드 작성 | 권장 | 백엔드 | ★★★ |
[테스트] w3c validator 통과 | 권장 | 프론트엔드 | ★★★ |
[테스트] husky로 커밋 메시지 규칙 자동 체크 | 도전 | 프론트엔드, 백엔드 | ★★★ |
[코드] Docker를 이용한 개발환경 구축 및 전 팀원의 이용 | 도전 | 백엔드 | ★★★ |