Development Stories
도커 환경 설정하기
- [ ] nginx 설정
- [ ] Dockerfile 설정
- [ ] Nginx conf 파일 설정
- [ ] React 배포용 multi-stage 설정
프론트엔드 환경 설정하기(리액트)
- [ ] React 초기 프로젝트 설정(CRA)
- [ ] 디렉토리 구조 정하기
- [ ] eslint, prettier 설정
- [ ] 초기 dependency 패키지 설치
백엔드 환경 설정하기(Nest.js)
DB 설정하기(postgres, redis)
- [ ] prisma 설정
- [ ] Dockerfile 에서 DB 유저 설정
REST API 확정하기
User Stories
회원
회원은 회원가입/로그인/로그아웃을 하고 자신의 프로필을 확인할 수 있다
backend
- [ ] 42 OAuth 로그인을 하는 REST API 구현
- [ ] 42 OAuth 로그인 요청
- [ ] 42 OAuth 로그인 리턴
- [ ] passport 설정
- [ ] DB에 42 내용 가져와서 저장하기
- [ ] [보너스] Google OAuth 로그인을 하는 REST API 구현
- [ ] 유저가 온보딩 플로우를 완료할 수 있는 리다이렉션
- [ ] 로그인 요청시 유저 데이터를 확인
- [ ] 비어있는 부분을 채우기 위한 리다이렉션
- [ ] 로그아웃을 하는 REST API 구현
- [ ] 프로필 요청을 하는 REST API 구현
- [ ]
/api/v1/users/:userId
- [ ]
/api/v1/my/whoami (JWT로 현재 로그인된 회원 정보 체크)
frontend
- [ ] 로그인을 할 수 있는 인트로 페이지 구현
- [ ] 42 로그인 버튼
- [ ] [보너스] Google 로그인 버튼
- [ ] 최초 로그인하는 회원에게 보이는 온보딩 플로우 구현
- [ ] [보너스] 약관 동의 페이지
- [ ] 닉네임 설정 페이지
- [ ] 프로필 사진 설정 페이지
- [ ] [보너스] 웰컴 페이지
- [ ] 각 회원마다 주어지는 프로필 페이지 구현
회원은 자신의 정보를 수정할 수 있다
backend
- [ ] 나의 프로필 수정을 하는 REST API 구현
- [ ]
/api/v1/users/:userId
frontend
- [ ] 자신의 프로필을 수정할 수 있는 프로필 수정 페이지 구현
- [ ] 회원 정보 수정 폼(닉네임, 프로필 사진)
- [ ] [보너스] 비동기 요청으로 저장 버튼 없이 정보 업데이트
회원은 자신의 계정에 2FA 인증을 설정할 수 있다
backend
- [ ] 2FA 인증 요청을 하는 REST API 구현
frontend
- [ ] 프로필 수정 페이지에 2FA 설정 및 해제 버튼 구현
회원은 다른 회원을 검색할 수 있다
backend
frontend
- [ ] 회원을 검색할 수 있는 검색바 구현
- [ ] 회원 검색 결과가 표시되는 회원 목록 구현
회원은 다른 회원을 친구로 추가할 수 있다
backend
- [ ] 친구 목록을 요청하는 REST API 구현
- [ ] 친구를 추가하는 REST API 구현
- [ ] 친구를 삭제하는 REST API 구현
frontend
- [ ] 프로필 페이지에 친구 추가 버튼 구현
- [ ] 친구 목록 페이지 구현
회원은 다른 회원의 현재 상태를 확인할 수 있다
backend
- [ ] 회원의 현재 상태를 요청하는 REST API 구현
frontend
- [ ] 회원의 현재 상태를 확인할 수 있는 프로필 사진 옆 아이콘 구현
- 온라인(
🟢), 오프라인(없음), 게임중(Game)
회원은 다른 회원을 차단할 수 있다
backend
- [ ] 차단 회원 목록을 요청하는 REST API 구현
- [ ] 회원을 차단하는 REST API 구현
- [ ] 회원 차단을 해제하는 REST API 구현
frontend
- [ ] 회원 프로필 페이지에 차단 버튼 구현
- [ ] 차단 회원 목록 페이지 구현
회원은 업적을 달성할 수 있다
기획
backend
- [ ] 업적 목록을 요청하는 REST API 구현
- [ ] 달성한 업적을 추가하는 REST API 구현
frontend
회원은 로그인 직후 메인 페이지에서 진행중인 게임과 채널 목록을 확인할 수 있다
frontend
- [ ] 메인 페이지에 게임 시작 버튼 & 채널 만들기 버튼 구현
- [ ] [보너스] 메인 페이지에 가장 참여자가 많은 순으로 채널 목록