ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
2
3
백엔드프론트
4
구분내용비고질문
5
1로그인- id/pwd로 회원 로그인 가능, or 구글/깃헙 인증 후 회원 로그인 가능
- id 저장 체크하여 id 값 자동으로 입력될 수 있도록 처리
-> id저장 체크 후 로그인 시 id를 저장할 수 있도록 처리(백) or 로그인 성공/실패 관계없이 id 저장할지 선택필요(백)
- id/pwd 찾기 기능
-> 구글/깃헙 인증하여 id/pwd 찾기 가능하도록 처리
- 자동로그인 체크하여 자동로그인 가능하도록 처리(선택)
- id/pwd로 회원정보 반환, 구글키로 회원정보 반환용 url 필요(백)
-> id/pwd나 해당구글키로 조회되는 유저가 있다면 해당 유저의 정보들 모두 반환해줄 예정인데 또 별도로 필요한 값이 있다면 요청해주세요

- 구글 또는 깃허브로 로그인을 진행했다면, 관련된 이미지도 클라이언트로 전송해주세요.
1. 구글 인증 후 로그인이 가능한 것인지, 구글 인증으로 로그인이 되는 건지 헷갈립니다.
구글 인증을 한 후에 로그인이 가능하다면, 사용자 입장에서 불편할 것 같아서요.

1. 구글/깃헙인증으로 바로 로그인가능하도록 처리하면 좋을 것 같아요
6
2회원가입- 구글 인증 후 회원가입 가능
-> 이미 회원가입한 구글 계정이라면 회원가입되어있다는 알림메세지 노출 및 로그인 페이지로 이동
- 회원가입 시 사용자 입력이 필요한 항목
-> id(중복확인 체크 필요), pwd, 개발언어(미입력 가능), 멘토여부(Y/N 선택필수), 자기소개(미입력가능) , 닉네임(중복확인 체크 필요)
-> id 중복확인체크 필요, id 제한글자 설정필요, id에 특수문자 입력불가하도록 처리
-> pwd 정합성체크 (ex. 8자리이상 한글 영어 숫자 포함한 형식 등), pwd확인란 필요
- 필수 입력 항목들 입력 및 id 중복체크, pwd 정합성체크 모두 완료 후 회원가입 가능
- 회원가입을 위해 회원정보 백단으로 보낼때 구글 또는 깃허브 인증키, 키 종류 꼭 포함하여 보낼것

- id, pwd , 개발언어, 자기소개용 db 컬럼에 설정할 총 글자 길이 필요
구글, 깃허브 사용자 이미지를 저장해야 될것 같습니다.
회원가입을 할 때는 이미지를 추가하지 않지만 구글, 깃허브 API를 받아오면 이미지 주소도 받아올 수 있어서 없는 것 보다는 있는게 나을 것 같은 생각이 듭니다.


- 자기소개란에 깃허브페이지로 이동 가능한 url 삽입해주는건 어떤지, 사용자에게 따로 입력을 받아 이용할 수 있도록 처리하면 좋을 듯

- 회원가입 페이지를 처음 로드할 때 전체 사용자의 ID목록만을 받을 수 있을까요? 그러면 중복 ID 처리가 쉬울 것 같습니다. 그런데 서버에 부담이 되거나 동시에 추가하는 경우에 충돌나서 문제가 있을 수도 있으니 안되시면 이 질문 지우셔도 됩니다.
-> api id 값이라는 것이 인증키와는 다른 값인가요?
: 네 api key와 api의 id값은 다른 값입니다.
api id(google, github)는 사용자를 구분하기 위한 유일한 값이라고 생각하시면 됩니다.

-> api key와 api id 두가지 다 저장시켜서 사용해야하는건가요?
: 넵 맞습니다.
7
3내정보 변경1내정보변경- 회원정보 변경 가능한 메뉴
- 기존 pwd 확인 후 pwd 변경 가능
- 닉네임 중복확인 체크 후 변경 가능
- 자기소개 내용 변경 가능
- 개발언어 변경 가능
- 멘토여부 변경 가능
-> 멘토에서 멘티로 변경한 경우 변경후 1주일간 다시 멘토로 변경 불가
- 회원탈퇴 가능(3-2 회원탈퇴란 참조)
- 깃허브 계정 인증후 계정연동 가능
-> 계정인증 후 연동된 깃허브 바로가기 기능 노출 가능
-> 깃허브로 회원가입한 유저라면 위 내용 생략
- 본인 깃허브 페이지로 이동가능한 url을 삽입하기로 했다면 해당 url 변경 기능 추가
8
2회원탈퇴(삭제)- pwd 입력 후 회원 탈퇴 가능하도록 처리
- 회원탈퇴시 14일 후 정보삭제되며 그 이전에 로그인할 경우 회원탈퇴 취소
- 회원 삭제 시 해당 회원이 의뢰했던 의뢰서 모두 삭제
- 회원 삭제 시 해당 회원이 받았던 의뢰엔 멘토란 "알수없음"(선택)으로 표시
- 탈퇴상태인 회원 상태를 로그인시 다시 일반상태로 돌리는 로직 앞단에서 처리할지 뒷단에서 처리할지 논의 필요

- 멘토가 탈퇴했을 시 멘토란에 표시하던 아이디 값 대신 들어갈 문구 필요 db상엔 null 값으로 들어갈 것임
-> 리뷰란에도 null 값 대신 표시할 내용 필요함

- 탈퇴후 14일이 지난 회원삭제는 매일 특정 시간에 삭제 자동화시킬예정
9
4의뢰1의뢰요청- 멘티가 멘토를 골라 코드리뷰 의뢰 요청 가능한 메뉴
- 본인이 멘토로 등록되어있어도 의뢰 요청 가능하도록 처리
-> 받은의뢰와 보낸 의뢰 확인용 메뉴 각각 확인가능하도록 처리
- 코드파일 등록(필수), 제목(필수), 의뢰내용(필수) 작성하여 멘토 선택(필수) 후 의뢰요청 가능
- 멘토 선택시 주력 언어별로 멘토 검색 가능하도록 필터선택 기능 필요
- 멘토 나열 기준 의뢰 많이 받은 순, 가입일자(먼)순
10
2의뢰서- 코드파일, 제목, 의뢰내용, 의뢰일, 멘토, 멘티, 댓글(=코드리뷰) 표시
-> 멘토/멘티 표시시 간단하게 id만 표시 or id클릭 시 간단한 프로필 표시 (선택)
-> 만약 프로필을 표시하게된다면 해당 유저가 받은 의뢰건 중 진행중/완료건수 같이 표시해주면 좋을듯(선택)
- 등록된 코드파일 내려받기 기능(선택)
- 의뢰상태가 진행중일경우 멘토/멘티 자유롭게 댓글 등록/수정/삭제 가능
- 완료상태가 아닌 의뢰건은 멘토가 취소 가능,
- 진행상태가 아닌 의뢰건은 멘티가 삭제 가능
- 댓글 달리는 형식을 시간순으로 나열할지, 대댓글과 같은 형식으로 특정 댓글에 다시 댓글을 달 수도 있게 할건지 선택 필요
11
3의뢰목록- 받은의뢰와 보낸의뢰 각 리스트 확인용 메뉴
- 제목, 멘티/멘토로 의뢰 검색 가능
- 받은의뢰일경우 멘토가 본인일것이고 보낸의뢰일경우 멘티가 본인일 것이므로 각 메뉴에 따라 멘티/멘토로 검색 되도록 처리해야함
-> 키워드와 검색종류 같이 백단으로 전송해야함
12
4상태- 대기중 : 의뢰 요청 후 아직 의뢰 수락되기 전 상태
-> 의뢰 내용은 모두 확인가능하되 수락하기 전까진 댓글 등록 불가하도록 처리
- 진행 : 의뢰 수락 후 진행중인 상태
-> 진행중엔 등록한 댓글수정 가능
- 완료 : 멘토가 해당 의뢰에 대해 완료를 찍은 상태
-> 추가적인 댓글 추가 불가, 수정 불가
- 취소 : 멘토가 해당 의뢰를 취소한 상태
-> 취소된 의뢰는 다시 멘토를 선택하여 재전송(복사되는개념)가능, 내용도 수정하여 재전송 가능하도록 처리
-> 추후 서비스가 유료화된다면 진행중인 건에 대해서는 함부로 취소 불가능하게 막아야할듯(환불 후 취소 가능하다던지 추가적인 대응필요)
13
5관리자1유저관리- 유저 리스트 조회
- 유저 검색 기능
-> 유저 id로 검색 가능하도록 처리
- 유저 상세조회 기능
- 유저 차단/차단해제 기능
-> 유저 상세조회 화면에서 차단/차단해제 도 가능하도록 처리
- 유저 리스트 표시시 표시할 정보 정립 필요
ex) 아이디, 가입일 등

- 추가적으로 유저 정보 변경 기능을 넣고싶다면 자유롭게 추가해주세요
14
2의뢰관리- 의뢰 리스트 확인
- 의뢰 검색기능
-> 유저 id로 의뢰 리스트 검색 가능하도록 처리
-> 멘토id, 멘티id 별로 검색할지 둘이 통합하여 보여주게할지 선택 필요
- 의뢰 상세조회 기능
- 의뢰 강제 삭제 기능
-> 의뢰 상세조회 화면에서 삭제도 가능하도록 처리
15
16
17
18
19
20
프론트
21
기능내용공통 기능
22
로그인 기능1. 로그인 검증
- 아이디, 비밀번호 공백 작성 시 "아이디 | 비밀번호를 입력해주세요" 출력
- 성공 : 사용자의 정보를 받아와서 indexedDB에 저장
- 실패 : 간단히 "아이디나 비밀번호가 틀렸다"는 정보 출력

모든 정보의 validation이 통과 시 데이터를 redux가 관리하도록 일임하고, IndexedDB에 저장
23
회원가입1. 아이디 중복 체크
- 실패 : 중복되었다는 정보 출력
- 성공 : 아무런 정보 출력하지 않고 스타일로 통과했다는 표현
2. 비밀번호 정규식 검사 및 랜덤 생성 적용
- 실패 : ex) "규칙에 맞도록 입력하세요"라고 출력
- 통과 : 아무런 정보 출력하지 않고 스타일로 통과했다는 표현
- 한 번 더 입력 기능 추가
3. 언어 입력 선택 목록
- 사용자가 질문하고자 하는 언어 선택할 수 있도록, 서버에서 목록 받기
4. 멘토여부
- boolean 형식
5. 자기소개(선택)
6. 닉네임 (중복 체크)
- 실패 : 중복되었습니다. 출력
- 성공 : 아무런 정보 출력 X
24
메인 페이지1. 의뢰 목록(멘토, 멘티)
- 상태별로 의뢰 필터링 가능
- 대기 : 멘토 수락 대기
-> 댓글 등록 불가

- 진행 : 멘토 수락 완료
-> 댓글 추가, 수정 가능

- 완료 : 멘토 의뢰 완료
-> 댓글 추가, 수정 불가

- 취소 : 멘토 의뢰 취소
-> 의뢰 내용을 그대로 진행하거나 수정 후, 멘토를 다시 선택해서 의뢰 재진행 및 유료화 됐을 때 함부로 취소 불가능하도록 방지
2. 코드리뷰 요청 메뉴(멘토, 멘티)
3.
25
IndexedDB1. 사용자 정보 저장(실제 DB와 연동)
2. redux와 연결
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100