ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAE
1
Priority 기준 : must(1), should(2), could(3) / 필수 구현 (A), 선택 구현 (B), 필요해서 구현 (C)
2
Story
ID
User StoriesA/B/CPriorityTask
ID
FE/BEAssigned
To
WeekTaskTask DescriptiondifficultyTime Estimate (days)
3
LoginPage0사용자는 Google 로그인이 가능하다.A10-1FE이한주2DONELogin Page
4
10-2FE이한주2DONEGoogle Login 버튼 구현
5
10-3FE이한주2DONE로그인을 완료하면 Work space 입장 Page로 넘어간다.
6
10-4BE이한주2DONEGoogle Login API 구현
7
WorkSpace 입장 Page1사용자는 Work space 리스트를 볼 수 있다.C11-1FE이한주2DONEWork space 입장 Page
8
21-2FE이한주2DONE사용자가 소속되어있는 work space 리스트를 보여준다
9
21-3BE이한주2DONE한 유저의 work space 리스트 API
10
2사용자는 Work space 입장 Page에서 생성 페이지로 이동할 수 있다.22-1FE이한주2DONEWork space 생성 버튼 구현, 클릭 시 Work space 생성 화면으로 이동
11
3사용자는 Work space 로 입장할 수 있다.23-1FE이한주2DONEWork space 리스트에서 하나를 클릭하면 해당 Work space 페이지로 이동한다.
12
WorkSpace 생성 Page4사용자는 새로운 Work space를 생성할 수 있다.14-0FE이한주2DONEWork space 생성 Page
13
24-1FE이한주2DONEWork space 이름 입력 컴포넌트
14
24-2FE이한주2DONEWork space 채널 이름 입력 컴포넌트
15
22FE이한주2DONEWork space 유저 초대 링크 생성 컴포넌트
16
24-4FE이한주2DONE각 입력 Page에서 다음을 클릭하면 다음 입력 페이지로 이동한다.
17
24-5BE이한주2DONE새롭게 생성할 work space 초대 링크 생성 API1. 초대링크 클릭 (http://~~~/join?workspace_id=workspace고유 id)
2. local storage에 유효한 토큰이 존재한다면, 바로 workspace에 join
3. 유효한 로그인 정보가 없다면, 로그인 이후에 workspace에 join 하도록 한다.
18
24-6BE이한주2DONE새로운 work space 생성 API
19
Header5사용자는 헤더의 서치바를 통해 channel/message 검색을 할 수 있다.B15-1FE박준호2DONEHeader 컴포넌트 구현
20
25-2FE박준호2DONESearch Bar 컴포넌트 구현
21
25-3FE4채널 검색 기능 구현
22
25-4FE4message 검색 기능 구현
23
25-5BE4검색 조건에 알맞는 리스트 API
24
6사용자의 정보를 볼 수 있다.C26-1FE박준호2DONEHeader 가장 우측에 사용자의 프로필 사진이 보인다.
25
26-2FE박준호2DONE프로필 사진을 클릭하면 userInfo Popup이 보인다.
26
26-3FE박준호2PENDINGuserInfo Popup은 사용자의 프로필 사진, 이름, 활동 상태를 보여준다.
27
26-4BE박준호2DONEuser의 프로필 사진, 이름, 활동 상태 API
28
Sidebar7사용자는 Sidebar를 통해 원하는 화면으로 이동할 수 있다.A17-1FE박준호2DONESide Bar 컴포넌트 구현
29
27-2FE박준호2DONEThreads 탭 구현클릭 시 Thread 화면으로 이동한다.
30
27-3FE박준호2DONEAll DMs 탭 구현클릭 시 All DMs 화면으로 이동한다.
31
27-4FE박준호2DONEChannel Browser 탭 구현클릭 시 Channel Browser 화면으로 이동한다.
32
27-5FE박준호2DONEPeople 탭 구현클릭 시 People 화면으로 이동한다.
33
Sidebar - Channels Section8사용자는 Channels 섹션을 통해 (자신이 join되어 있으며,) Channels 섹션에 속해 있는 Channel 목록을 조회 할 수 있다.18-1FE박준호2DONE기본 섹션인 Channel 섹션 구현기본 채널 : random, general, <사용자가 work space 생성 시 만든 채널>
34
28-2FE박준호2DONEChannel 섹션에서 ⬇️(toggle button) 클릭 시 속해 있는 채널 hide
35
28-3FE박준호2DONEChannel 섹션에서 ➡️ (toggle button) 클릭 시 속해 있는 채널 expose
36
28-4BE박준호2DONE사용자가 속해 있는 Channel 조회 API사용자가 속해 있는 전체 섹션 별 채널 조회
37
28-5FE박준호2DONE각 채널은 채널명 좌측에 public일 경우 #, private일 경우는 자물쇠 모양이 나타난다.
38
9사용자는 채널에 가입하는 페이지로 이동할 수 있다.B29-1FE박준호3DONEAdd channels 버튼 클릭 시 나오는 팝업에서 Browse channels 클릭 시 browse channel page로 이동한다.hover 시에 join button이 나타난다.
39
10사용자는 새로운 채널을 생성할 수 있다.C210-1FE박준호2DONEChannels 섹션 hover 시 section options 버튼과 + 버튼이 나타난다.
40
210-2FE박준호2DONEChannels 섹션 최하단 Add channels 탭 버튼 팝업 구현
41
210-3FE박준호2DONE채널 생성 팝업 구현input : 채널 name, 채널 description, private 여부
42
210-4FE박준호2DONE채널 생성 팝업 make private 여부 토글 버튼 구현
43
210-5FE박준호2DONEAdd channels 버튼 클릭 시 나오는 팝업에서 Create a channel 클릭 시 채널 생성 팝업이 나타난다.Add channels 팝업 : browse channels / create a channel 탭으로 구성
44
210-6BE박준호2DONE채널 생성 API새로운 채널 생성 시 default 로 Channels 섹션에 포함된다.
45
210-7FE박준호2새로운 채널 생성 시 Sidebar의 Channels 섹션에 추가된다.
46
11사용자는 새로운 섹션을 생성할 수 있다.B210-1FE박준호4DONEChannels 섹션 hover 시 section options 버튼과 Add channels 버튼이 나타난다.
47
211-1FE박준호4DONEsection options 팝업 구현Create new section / Browse channels / Create a channel 탭으로 구성
48
211-2FE4section options 팝업에서 create new section 클릭 시 섹션 생성 팝업이 나타난다.채널 그룹핑
49
211-3FE4섹션 생성 팝업 구현input: 섹션 name
50
211-4BE4섹션 생성 API새로운 섹션 생성 시 default 로 빈 섹션이 만들어진다.
51
211-5FE4새로운 섹션 생성 시 Sidebar에 해당 섹션이 추가된다.
52
12사용자는 원하는 채널을 드래그 앤 드롭으로 특정 섹션으로 이동시킬 수 있다.B212-1FE4채널을 드래그하여 Sidebar의 섹션 위에 드랍 하면 해당 섹션에 드롭한 채널이 추가된다.각 채널 드래그 앤 드롭 구현
53
212-2BE4채널의 섹션 변경 API
54
13사용자는 각 채널을 hover 함으로서 원하는 action을 수행할 수 있다.C213-1FE박준호2DONE각 채널 hover 시 more 버튼이 나타난다.
55
213-2FE박준호2DONE채널 more 팝업 구현Move channel / Change notifications / Leave channel
56
14사용자는 채널을 다른 섹션으로 옮길 수 있다.B314-1FEMove channel 은 dropleft 로서 현재 생성되어 있는 모든 섹션을 보여준다.섹션 이름 클릭 시 채널이 해당 섹션으로 이동된다.
57
314-2BE섹션 변경 API
58
15사용자는 자신이 소속된 각 채널의 notification 설정을 변경할 수 있다.C215-1FE박준호3Change notification 클릭 시 해당 채널의 notification 설정 팝업이 나타난다.
59
215-2FE박준호3notification 팝업 구현모든 메세지에 대하여 알람 받기 / 거부 중 선택
60
15-4BEALL3*** noti 구현 시 DB 스키마 변경
61
215-3BE박준호3채널의 notification 설정 변경 API (on/off)
62
16사용자는 각 채널에서 탈퇴 할 수 있다.C216-1FE박준호3more action의 Leave channel 클릭 시 해당 채널에서 탈퇴된다.확인 alert 은 없다.
63
216-2BE박준호3채널 탈퇴 API
64
17사용자는 사용자가 만든 각 section을 hover 함으로서 원하는 action을 수행할 수 있다.C217-1FE박준호4DONE사용자가 만든 section hover 시 section options 버튼이 나타난다.default section options 와 사용자 section options 가 다르기 때문에 재활용?
65
217-2FEsection more 버튼 팝업 구현(default section options 와 다르다)Rename <section 이름> / Delete <section 이름>
66
18사용자는 섹션 이름을 수정할 수 있다.C318-1FERename 클릭 시 section 이름을 바꿀 수 있는 팝업이 화면 중앙에 나타난다.
67
318-2BE섹션 이름 변경 API
68
19사용자는 사용자가 만든 섹션을 삭제할 수 있다.C219-1FE빨간색으로 칠해진 Delete 클릭 시 section 이 Sidebar에서 사라진다.확인 alert 은 없다.
69
219-2BE사용자가 생성한 section 삭제 API
70
Sidebar - DMs20사용자는 본인의 DM 리스트를 볼 수 있다.A120-1FE박준호2DONEDirect messages 섹션Work space 첫 가입 시 자기자신과의 DM 만 존재한다.
71
220-2FE박준호2DONEDM List 구현
72
220-3BE박준호2DONEDM List API
73
21사용자는 새로운 섹션을 만들어 DM을 구분지을 수 있다.
* StoryID 11,12와 관련
C221-1FEDirect messages 섹션 제목을 hover 하면 section options 버튼과 open a direct message 버튼이 나타난다.
74
221-2FEsection options 버튼을 누르면 아이템으로 create new sectiond을 가지는 팝업이 나타난다.
75
221-3FE팝업에서 새로운 섹션을 생성하면 side bar의 direct messages 섹션 바로 위에 노출된다.
76
221-4BEDM 섹션 저장 API
77
22사용자는 DM을 다른 섹션으로 옮길 수 있다.C222-1FE드래그 앤 드롭으로 섹션 간 DM 이동이 가능하다.단, DM 섹션 내에서만 가능하다 (채널 섹션은 불가)
78
222-2BEDM 섹션 변경 API
79
23사용자는 sidebar 상단의 all DMs 탭으로 이동할 수 있다.C221-1FE김서영4DONEDirect messages 섹션 제목을 hover 하면 section options 버튼과 open a direct message 버튼이 나타난다.
80
223-1FE김서영4DONEopen a direct messsage 버튼을 클릭하면 all DMs 탭으로 이동한다.
81
Sidebar - add teammates24사용자는 Work space에 유저를 추가할 수 있다.C224-1FE박준호2DONESidebar 최하단에 "Add teammates" 버튼이 위치한다.
82
224-2FE박준호, 이한주3Add teammates 버튼을 클릭하면 사람 초대 팝업이 뜬다. (Workspace 초대)링크 생성 후 복사 해서 초대할 수 있도록 하기
83
Threads Page25사용자는 자신이 작성한 Thread와 message 를 달았던 Thread의 리스트를 볼 수 있다.C325-1FE김서영3DONEThreads Page 구현
84
325-2FE김서영3DONE내가 작성한 / 내가 message를 남긴 Threads 리스트 요청
85
325-3BE김혜지3DONE한 유저가 작성한 / message를 남긴 모든 Threads 리스트 API
86
325-4FE김서영3DONEThreadList 컴포넌트구현
87
325-5FE김서영3DONEDetailThread 컴포넌트 구현한 스레드의 모든 message를 포함한다.
88
26사용자는 Thread 리스트를 가져올 동안 로딩 이미지를 볼 수 있다.C326-1FE김서영4DONE서버에서 응답이 올 때까지 로딩 이미지를 보여준다.
89
All DMs Page27사용자는 사람들의 이름을 입력해 DM room을 만들 수 있다.C127-1FE김서영4DONEAll DMs Page 구현
90
227-2FE박준호4DONETo Input 구현이름 리스트를 입력할 수 있다.
91
227-3FE박준호4DONETo Input에 글자를 입력할 때마다 가장 유사한 유저 리스트를 보여준다.
92
227-4FE박준호4DONETo input에서 Enter를 치면 입력한 이름 리스트와 함께 DM Page 이 만들어지고, 이동한다.
93
227-5BE박준호4DONE해당 글자를 포함하는 한정 숫자의 유저 리스트 API OR 모든 유저 리스트
94
227-6BE김혜지3DONEDM room 생성 APIType이 DM인 채널 생성
95
28사용자는 날짜별로 그룹핑된 모든 DM의 마지막 메시지를 최신순부터 볼 수 있다.C328-1FE박준호5DONELastDMList 컴포넌트 구현
96
328-2FE박준호5DONELastDM 컴포넌트 구현DM의 참여자들 프로필 사진, 이름, 마지막 내용, 시간
97
328-3FE박준호5DONELastDM은 최근 날짜부터 날짜별로 그룹핑되어 있다.
98
328-4FE박준호5DONELastDM을 클릭하면 해당 DM Page 으로 이동한다.
99
328-5BE박준호5DONE유저의 모든 DM의 참여자의 이름, 사진과 마지막 메시지, 시간 API
100
People Page29사용자는 워크스페이스의 모든 유저를 조회할 수 있다.C329-1FE김서영4DONEPeople Page 구현