| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 구분 | 서비스 | 기능명 | 기능설명 | 우선순위 | 비고 | ||||||||||||||||||||
2 | 회원 가입 | 회원가입 | 사용자는 [이메일], [비밀번호]을 이용하여 회원가입한다. | 1 | ||||||||||||||||||||||
3 | 입력 후 blur 시에 진행하며, 유효성을 만족하지 못하면 폼 제출버튼을 비활성화한다.(왜 유효성 검사 실패했는지를 input 아래에 메시지로 띄워준다.) | |||||||||||||||||||||||||
4 | 회원 가입 후 바로 토큰을 받아 앞으로의 요청을 로그인 상태로 만든다. | |||||||||||||||||||||||||
5 | 소셜 로그인 | 사용자는 구글 계정을 이용해서 회원가입 할 수 있다. | ||||||||||||||||||||||||
6 | 가입 후 프로필 작성 | 회원가입 후 프로필 정보 추가 | 회원 가입 후 [유저네임] 이 DB에 등록되지 않은 사용자는 본인의 프로필에서 보여줄 상세 정보 를 입력하는 폼으로 넘어간다. | |||||||||||||||||||||||
7 | 사용자는 [유저네임], [본인의 학습 희망 언어], [본인이 가르칠 언어], [생일], [성별], [국적], [흥미] 을 입력한다. | |||||||||||||||||||||||||
8 | [닉네임] 은 중복 확인을 거쳐야 한다. | |||||||||||||||||||||||||
9 | [흥미] 는 주어진 태그들 중에서 최대 3개를 고를 수 있도록 한다. | |||||||||||||||||||||||||
10 | 사전에 주어진 태그들은 [1. 영화], [2. 스포츠], [3. 음악], [4. 재테크], [5, 여행], [6. 코딩], [7. 게임], [8. 맛집], [9.요리], [10. 카페], [11. 독서], [12. 반려동물], [13. 파티], [14. 콜렉팅] 이다. | 1 | ||||||||||||||||||||||||
11 | 이후 회원정보 수정에서 [생일], [성별] 은 수정할 수 없다. | |||||||||||||||||||||||||
12 | 로그인 | 로그인 | 사용자는 [이메일], [비밀번호]을 입력하여 로그인한다. | |||||||||||||||||||||||
13 | 아이디/ 비밀번호 분실 | 비밀번호를 를 분실한 경우, 가입시 사용했던 이메일로 찾을 수 있다. | ||||||||||||||||||||||||
14 | 공통 | 네비게이션 바 | 네비게이션 바는 메인 페이지로 이동하는 로고, 매칭 페이지로 이동하는 매칭 버튼, 프로필 페이지 로그아웃을 드롭다운하는 프로필 아이콘 + 이름 버튼으로 구성된다. | |||||||||||||||||||||||
15 | 메인 페이지 | 게시글 생성 | 사용자는 메인 페이지에서 [게시글]을 작성할 수 있다. | |||||||||||||||||||||||
16 | 게시글 조회 | 사용자는 메인 페이지에서 자신이 팔로우 한 사람들의 게시글을 볼 수 있다. 메인 페이지의 게시글은 [내용] 글자수 300글자, [사진] 수 3장까지만 표시한다. | 1 | |||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | 게시글 상세 페이지 이동 | 사용자는 게시글를 클릭해서 해당 게시글의 상세 페이지로 이동할 수 있다. | 1 | |||||||||||||||||||||||
19 | 게시글 로딩 | 게시글은 5개 단위로 끊어서 로딩되며, 더보기 버튼을 누르면 다음 게시글이 로딩된다. | 1 | |||||||||||||||||||||||
20 | 시용자 랭킹 조회 | 사용자는 경험치를 기준으로 상위 3명의 사용자와, 자신의 현재 랭킹을 조회할 수 있다. | 1 | |||||||||||||||||||||||
21 | 언어 랭킹 조회 | 사용자는 매칭에서 가장 많이 쓰인 언어를 조회할 수 있다. | ||||||||||||||||||||||||
22 | 추천친구 조회 | 사용자는 친구 추천 목록을 조회할 수 있다. | 1 | |||||||||||||||||||||||
23 | 게시글 상세 페이지 | 게시글 상세 조회 | 사용자는 게시글의 글 전문을 조회 가능하다. | 1 | ||||||||||||||||||||||
24 | 게시글 사진 조회 | 사용자는 게시글 상세 페이지에서 5장까지의 사진을 조회 가능하다. | 1 | |||||||||||||||||||||||
25 | 3장까지의 사진은 슬라이드 없이, 3장 이상의 사진은 슬라이드로 제공된다. | 1 | ||||||||||||||||||||||||
26 | 게시글 좋아요 | 사용자는 게시글 상세 페이지에서 게시글에 좋아요를 누를 수 있다. | 1 | |||||||||||||||||||||||
27 | 매칭 | 매칭 페이지로 이동 | 사용자는 최상단 네비게이션 바의 [매칭] 버튼을 클릭하여 매칭 페이지로 이동한다. | |||||||||||||||||||||||
28 | 매칭 시작 | 사용자가 [가르칠 언어], [학습할 언어]는 기본적으로 프로필 정보를 입력할 때 작성한 언어이다. 사용자는 매칭 시작 버튼을 누르기 전에 학습할 언어를 이번 매칭 동안만 일시적으로 변경 가능하다. | ||||||||||||||||||||||||
29 | 사용자는 '매칭을 시작하시겠습니까' 아래의 start 버튼을 클릭하여 매칭을 시작한다. | 1 | ||||||||||||||||||||||||
30 | 매칭 기준 | 매칭 알고리즘은 [배우기를 원하는 언어] - [능숙한 언어] - 등록한 [취미] 순으로 계산해서 최적의 상대를 찾는다. | 1 | |||||||||||||||||||||||
31 | 매칭 로딩 | 최적의 상대를 매칭 중' 아래에 상태 진행 바를 두어 사용자가 답답함을 덜 느끼게 만든다. 랜덤한 인물 사진을 랜덤한 위치에 원형으로 보여주고, 커졌다 작아졌다 하는 애니메이션 효과를 준다. | 2 | |||||||||||||||||||||||
32 | 매칭 성공 | 사용자는 매칭 성공 시 입장하기 버튼을 클릭하여 입장할 수 있다. | 1 | |||||||||||||||||||||||
33 | 사용자가 취소 버튼을 누르거나 아무 행동도 하지 않은 채로 10초가 지나면 매칭이 자동으로 취소된다. | 2 | ||||||||||||||||||||||||
34 | 화상 채팅 | 영상 및 음성 채팅 | 사용자는 상대방의 화상을 볼 수 있다. | 1 | ||||||||||||||||||||||
35 | 사용자는 토글 버튼으로 자신의 화상을 보여 줄지, 프로필 이미지를 보여줄지 결정할 수 있다. | 1 | ||||||||||||||||||||||||
36 | 문자 채팅 | 사용자는 채팅창에 텍스트를 입력하여 상대방과 소통할 수 있다. | ||||||||||||||||||||||||
37 | 사용자는 채팅창 말풍선을 마우스 우클릭으로 번역, 수정 기능을 사용할 수 있다. | |||||||||||||||||||||||||
38 | 사용자가 수정 기능을 이용하여 상대방의 말풍선을 수정하면 채팅 기록 마지막에 변경된 텍스트가 추가된다. | |||||||||||||||||||||||||
39 | 채팅 템플릿 | 사용자는 상대방 국가에 관련된 뉴스를 자신이 설정한 언어로 조회할 수 있다. | 3 | |||||||||||||||||||||||
40 | 사용자는 제시된 뉴스 들 중 하나를 상대방과 공유하며 볼 수 있다. | 1 | ||||||||||||||||||||||||
41 | 자기 프로필 페이지 - 공통 | 팔로우 팔로워 조회 | 사용자는 자신 프로필 페이지에서 [팔로워], [팔로우]를 클릭해서 팔로워와 자신의 팔로우를 확인할 수 있다. | 1 | ||||||||||||||||||||||
42 | [팔로우]와 [팔로워]를 클릭해서 해당 사용자의 프로필 페이지로 이동할 수 있다. | 1 | ||||||||||||||||||||||||
43 | 사진 등록, 변경 | 사용자는 [프로필 사진]을 등록, 변경할 수 있다 | 1 | |||||||||||||||||||||||
44 | 자기 프로필 페이지- 프로필 탭 | 자기소개 등록 | 사용자는 [자기 소개]를 입력할 수 있다. | 1 | ||||||||||||||||||||||
45 | 프로필 정보 수정 | 사용자는 [생년월일], [성별] 을 제외한 정보를 수정 가능하다. | ||||||||||||||||||||||||
46 | 활동 정보 조회 | 사용자는 프로필 페이지의 활동 탭에서 자신의 [레벨]을 볼 수 있다. | ||||||||||||||||||||||||
47 | 레벨을 올리는 경험치는 [화상 채팅 횟수], [게시글 작성 횟수], [댓글 작성 횟수], [출석] 이다. | |||||||||||||||||||||||||
48 | 1 | |||||||||||||||||||||||||
49 | 언어 교환 통계 | 사용자는 자신이 어떤 언어로 언어교류를 했는지를 도넛형 그래프를 통해 확인할 수 있다. | 1 | |||||||||||||||||||||||
50 | 배지 | 사용자는 [배지]를 최대 5개까지 프로필에 등록할 수 있다 | 1 | |||||||||||||||||||||||
51 | 배지 표시 탭에서 수정 버튼을 눌러 획득한 배지 중에서 5개를 고를 수 있다. | |||||||||||||||||||||||||
52 | 비활성화된 배지는 회색으로 표시된다. | 1 | ||||||||||||||||||||||||
53 | 사용자는 배지 획득 방식을 배지 선택 페이지에서 비활성화된 배지에 마우스커서를 올려 조회할 수 있다. | 1 | ||||||||||||||||||||||||
54 | 접속 및 활동 | 사용자의 접속 및 활동은 깃허브 잔디 심는 활동으로 표시된다. | 1 | |||||||||||||||||||||||
55 | 자기 프로필 페이지- 게시글 탭 | 게시글 조회 | 사용자는 자신이 작성한 게시글을 게시글 탭에서 조회할 수 있다. | 1 | ||||||||||||||||||||||
56 | 게시글 로딩 | 게시글은 최신 게시글 5개를 보여준다. | 1 | |||||||||||||||||||||||
57 | 게시글 하단까지 내려온 경우, 다음 게시글을 로딩하기 위한 <더보기> 버튼이 존재하고 클릭시 다음 게시글이 로딩된다. | 1 | ||||||||||||||||||||||||
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 |