| 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 | AA | AB | AC | AD | AE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | |||||||||||||||||||||||||||||||
2 | SCENE | STORY | TASK | Priority(1~5)🏀 | Time | Assignee | Issue Number | Status | |||||||||||||||||||||||
3 | 지도 화면 | 유저는 시작화면에서 GPS 사용 여부를 허가한다. | Alert을 이용해 사용자로 부터 위치 정보를 활성화할 수 있게 권한을 획득한다. | 🏀🏀🏀🏀🏀 | 0.5 | 재웅 | #16 | Done | |||||||||||||||||||||||
4 | 유저는 시작화면에서 대한민국 전역의 지도를 확인할 수 있다. | MapKit을 사용하여 화면에 지도를 표시한다. | 🏀🏀🏀🏀🏀 | 1 | 재웅 | #15 | Done | ||||||||||||||||||||||||
5 | 위치 서비스가 꺼져 있다면 대한민국의 전체를 보여줄 수 있게 축척 및 위치를 조절한다. | 0.5 | 재웅 | #17 | Done | ||||||||||||||||||||||||||
6 | 위치 서비스가 켜져 있다면 현재 위치가 보이도록 축척 및 위치를 조절한다. | 0.5 | 재웅 | #18 | Done | ||||||||||||||||||||||||||
7 | 유저는 시작 화면에서 특정 위치 주변에 산이 몇개 있는지 대략적으로 확인할 수 있다. | 위치 정보와 산 정보가 담긴 JSON 파일을 만든다. | 🏀🏀🏀🏀🏀 | 4 | 지원 | #63 | Done | ||||||||||||||||||||||||
8 | JSON 파일에서 산의 이름 및 위치들을 가져온다. | 2 | 지원, 재웅 | #40 | Done | ||||||||||||||||||||||||||
9 | CoreData에서 사용자가 등록한 산의 이름과 위치를 가져온다. | 6 | 재웅 | #288, #295 | Done | ||||||||||||||||||||||||||
10 | 가져온 데이터를 바탕으로 지도에 마커를 표시한다 | 3 | 지원, 재웅 | #42 | Done | ||||||||||||||||||||||||||
11 | 유저는 화면을 확대하거나 축소하여 각 산의 위치 정보를 확인할 수 있다. | MapKit 클러스터링 기능을 활용한다. | 🏀🏀🏀🏀🏀 | 1 | 재웅 | #19,23 | Done | ||||||||||||||||||||||||
12 | 산의 위치에 Custom 마커를 띄운다. | 2 | 재웅 | #88 | Done | ||||||||||||||||||||||||||
13 | 44x44 크기 이내에 존재하여 겹치는 마커들은 중간위치에 숫자로 표시한다. | 4 | 재웅 | #19,23 | Done | ||||||||||||||||||||||||||
14 | 유저는 산 마커를 눌러 간략한 썸네일 정보를 확인할 수 있다. | 산 마커를 터치하면 해당 산의 이름과 고도를 산 말풍선안에 표시한다. | 🏀🏀🏀 | 0.5 | 지원 | #62 | Done | ||||||||||||||||||||||||
15 | 유저는 산 말풍선을 눌러 상세 화면으로 이동할 수 있다. | 산 말풍선를 클릭하면 산에 대한 상세 화면으로 이동한다. | 🏀🏀 | 1 | 지원 | #93 | Done | ||||||||||||||||||||||||
16 | 유저는 지도의 빈 부분을 터치하여 산 말풍선을 보이지 않도록 할 수 있다. | 현재 마커의 포커스를 없앤다. | 🏀🏀🏀 | 0.5 | 지원 | #62 | Done | ||||||||||||||||||||||||
17 | 유저는 시작 버튼을 눌러 등산 기록을 측정할 수 있다. | 사용자가 위치 서비스를 켜지 않았으면 설정으로 가서 켜도록 한다. | 🏀🏀🏀🏀🏀 | 0.5 | 재웅 | #79 | Done | ||||||||||||||||||||||||
18 | 위치 서비스를 켜지 않았으면 이전 화면으로 돌아간다. | 0.5 | 재웅 | #79 | Done | ||||||||||||||||||||||||||
19 | 위치서비스를 켰다면 측정 화면으로 이동한다. | 2 | 재웅 | #50 | Done | ||||||||||||||||||||||||||
20 | 시작 버튼을 누르면 진동 Feedback을 준다 | 🏀 | 1 | 재웅 | #193 | Done | |||||||||||||||||||||||||
21 | 유저는 지도를 확대 및 축소할 시 축척을 알 수 있다. | 화면을 확대 및 축소할 때에 화면 상단에 축척이 나타난다. | 🏀 | 0.5 | 재웅 | #29 | Done | ||||||||||||||||||||||||
22 | 유저는 종이 비행기 버튼을 눌러 현재 위치와 방향을 알 수 있다. | 종이 비행기 버튼을 누르면 현재 위치로 줌 인 된다. | 🏀 | 0.5 | 재웅 | #50 | Done | ||||||||||||||||||||||||
23 | 한 번 더 누르면 기기가 바라보는 방향으로 화면을 회전시키며 전방을 표시한다. | 0.5 | 재웅 | #50 | Done | ||||||||||||||||||||||||||
24 | 전방을 표시할 때 나침반을 상단에 표시한다 | 0.5 | 재웅 | #50 | Done | ||||||||||||||||||||||||||
25 | 한 번 더 눌러 해제할 수 있다. | 0.5 | 재웅 | #50 | Done | ||||||||||||||||||||||||||
26 | 유저는 종이 비행기 버튼이 눌린 상태에서 장소 등록하기 버튼을 눌러 현재 장소를 등록 할 수 있다. | 종이 비행기 버튼을 눌렀을 때만 장소등록 버튼을 표시한다. | 🏀 | 0.5 | 재웅 | #118 | Done | ||||||||||||||||||||||||
27 | 장소등록 버튼을 누르면 장소 등록 화면으로 넘어간다 | 0.5 | 재웅 | #226 | Done | ||||||||||||||||||||||||||
28 | 산이나 다른 등록된 장소 마커를 터치하면 장소등록 버튼을 숨긴다 | 0.5 | 재웅 | #118 | Done | ||||||||||||||||||||||||||
29 | 유저가 측정 화면에서 시작화면으로 나왔을 때 시작 버튼의 애니메이션을 볼 수 있다. | 사람이 걷는 애니메이션을 시작 버튼에 보여준다. | 🏀 | 3 | 재웅 | #71 | Done | ||||||||||||||||||||||||
30 | 사람이 걷는 애니메이션은 하얀색으로 보여준다. | 🏀 | 0.5 | 재웅 | #186 | Done | |||||||||||||||||||||||||
31 | 유저는 설정 화면에서 변경한 지도 형식을 지도 화면에서 확인할 수 있다 | 설정 화면에서 설정한 지도 형식 대로 지도를 변경하여 보여준다. | 🏀 | 3 | 재웅 | #116 | Done | ||||||||||||||||||||||||
32 | 장소 등록 화면 | 유저는 장소 등록 화면에서 위치를 확인할 수 있다. | 화면의 상단에서 지도를 확인할 수 있다 | 🏀 | 0.5 | 재웅 | #227 | Done | |||||||||||||||||||||||
33 | 지도에서 등록하려는 위치를 마커로 확인할 수 있다 | 🏀 | 1 | 재웅 | #228 | Done | |||||||||||||||||||||||||
34 | 유저는 현재 위치의 장소를 등록하지 않을 수 있다. | 화면 상단의 X버튼을 눌러 지도 화면으로 돌아갈 수 있다. | 🏀 | 1 | 재웅 | #229 | Done | ||||||||||||||||||||||||
35 | 유저는 현재 위치의 장소를 등록할 수 있다. | 산으로 등록하면 해당 정보를 CoreData에 저장한다. | 🏀🏀🏀 | 3 | 재웅 | #267 | Done | ||||||||||||||||||||||||
36 | 유저는 등록할 장소의 설명을 정할 수 있다. | 등록할 산의 이름을 최대 10글자 까지 설정할 수 있다. | 🏀 | 0.5 | 재웅 | #266 | Done | ||||||||||||||||||||||||
37 | 등록할 장소의 설명을 최대 100글자, 10줄 까지 설정할 수 있다. | 🏀 | 1 | 재웅 | #265 | Done | |||||||||||||||||||||||||
38 | 등산 측정 화면 | 유저는 화면을 켜지 않은 상태로도 등산 기록을 저장할 수 있다. | 등산 기록은 BackGround에서 동작할 수 있다. | 🏀🏀🏀🏀 | 4 | 민창 | #81 | Done | |||||||||||||||||||||||
39 | 등산 기록이 측정중이라면 홈 화면에서 알 수 있도록 표시한다. | 3 | 재웅 | #71 | Done | ||||||||||||||||||||||||||
40 | 유저가 위치 서비스를 끄면 다시 키도록 요청한다. | Alert을 이용해 다시 위치 서비스를 켜도록 요청한다. | 🏀🏀🏀 | 1 | 민창 | #179 | Done | ||||||||||||||||||||||||
41 | 유저가 등산 기록을 특정 간격으로 측정한다. | 1초마다 바뀌는 걸음 수와 이동거리, 시간을 메모리에 저장한다. | 🏀🏀🏀🏀🏀 | 1 | 민창 | #43 | Done | ||||||||||||||||||||||||
42 | GPS가 바뀔 때마다 위도, 경도, 고도를 배열 메모리에 저장한다. | 🏀🏀🏀🏀🏀 | 1 | 민창 | #41 | Done | |||||||||||||||||||||||||
43 | 유저는 측정 화면에서 현재 시간을 확인 할 수 있다. | DispatchTimer로 측정 시작 시간에서 얼마나 지났는지 확인한다. | 🏀🏀🏀🏀 | 1 | 민창 | #21 | Done | ||||||||||||||||||||||||
44 | ViewModel을 이용해 View를 업데이트 한다. | 1 | 민창 | #35 | Done | ||||||||||||||||||||||||||
45 | 유저는 측정 화면에서 현재 고도를 확인할 수 있다. | GPS가 켜져있을 경우 CoreLocation을 활용해 현재 고도를 확인한다. | 🏀🏀 | 1 | 민창 | #22 | Done | ||||||||||||||||||||||||
46 | GPS가 꺼져있을 경우 GPS 설정으로 넘어간다 | 1 | 민창 | #180 | Done | ||||||||||||||||||||||||||
47 | 측정 중 GPS가 꺼질 경우 측정이 일시정지 된다. | 2 | 민창 | #181 | Done | ||||||||||||||||||||||||||
48 | ViewModel을 이용해 View를 업데이트 한다. | 2 | 민창 | #36 | Done | ||||||||||||||||||||||||||
49 | 유저는 측정 화면에서 현재 걸음을 확인할 수 있다. | CoreMotion을 활용해 현재 걸음 수를 확인한다. | 🏀🏀🏀🏀 | 1 | 민창 | #24 | Done | ||||||||||||||||||||||||
50 | ViewModel을 이용해 View를 업데이트 한다. | 1 | 민창 | #37 | Done | ||||||||||||||||||||||||||
51 | 1Km 당 최고 순간 속도의 시간을 계산해 저장한다. | 🏀🏀 | 2 | 민창 | #206 | Done | |||||||||||||||||||||||||
52 | 1Km 당 최저 순간 속도의 시간을 계산해 저장한다. | 2 | 민창 | #207 | Done | ||||||||||||||||||||||||||
53 | 유저는 측정 화면에서 현재 이동거리를 확인할 수 있다. | CoreMotion을 활용해 현재 이동거리를 확인한다. | 🏀🏀🏀🏀 | 1 | 민창 | #25 | Done | ||||||||||||||||||||||||
54 | ViewModel을 이용해 View를 업데이트 한다. | 2 | 민창 | #38 | Done | ||||||||||||||||||||||||||
55 | 유저는 일시 정지 버튼을 눌러 측정을 일시 정지 할 수 있다. | 측정 화면 일시 정지 버튼의 이미지를 변경한다. | 🏀🏀🏀 | 0.5 | 민창 | #111 | Done | ||||||||||||||||||||||||
56 | DispatchTimer를 일시정지 및 재시작한다. | 3 | 민창 | #112 | Done | ||||||||||||||||||||||||||
57 | 걸음 수 측정을 일시정지 및 재시작 시킨다. | 2 | 민창 | #113 | Done | ||||||||||||||||||||||||||
58 | 고도 측정을 일시정지 및 재시작 시킨다. | 1 | 민창 | #114 | Done | ||||||||||||||||||||||||||
59 | 이동거리 측정을 일시정지 및 재시작 시킨다. | 2 | 민창 | #115 | Done | ||||||||||||||||||||||||||
60 | 유저는 정지 버튼을 눌러 측정을 종료 할 수 있다. | 정지 버튼을 누르면 재확인 하는 메시지를 띄운다. | 🏀🏀🏀🏀🏀 | 1 | 민창 | #47 | Done | ||||||||||||||||||||||||
61 | 정지 버튼을 누르고 재확인 한 뒤 Timer를 일시정시 시킨다. | 0.3 | 민창 | #130 | Done | ||||||||||||||||||||||||||
62 | 정지 버튼을 누르고 재확인 한 뒤 GPS Tracking을 일시정지 시킨다. | 0.3 | 민창 | #131 | Done | ||||||||||||||||||||||||||
63 | 정지를 승인하면 측정된 데이터를 CoreData에 저장한다. | 1 | 민창 | #48 | Done | ||||||||||||||||||||||||||
64 | CoreData 저장에 실패했을 경우 저장 실패 Alert을 띄운다. | 0.5 | 민창 | #135 | Done | ||||||||||||||||||||||||||
65 | 저장 실패의 경우 다시 저장하기 와 저장하지 않기를 누를 수 있다. | 0.5 | 민창 | #136 | Done | ||||||||||||||||||||||||||
66 | 다시 저장하기를 누를 경우 CoreData 저장을 재시작한다. | 0.5 | 민창 | #137 | Done | ||||||||||||||||||||||||||
67 | 저장하지 않기를 누를 경우 측정 화면을 벗어난다. | 0.5 | 민창 | #138 | Done | ||||||||||||||||||||||||||
68 | 유저는 측정 중 촬영한 사진을 저장할 수 있다. | 측정 화면을 처음 들어왔을 경우 사진 접근 권한을 얻는 Model을 띄운다. | 🏀🏀🏀 | 0.5 | 민창 | #160 | Done | ||||||||||||||||||||||||
69 | 측정 종료를 눌렀을 경우 측정 중 촬영한 사진을 앨범에서 가져온다 | 4 | 민창 | #161 | Done | ||||||||||||||||||||||||||
70 | 설정 화면에서 설정한 사진 저장 기능에 따라 사진을 저장할지 결정한다. | 1 | 민창 | #214 | Done | ||||||||||||||||||||||||||
71 | 앨범에서 가져온 사진을 CoreData에 저장한다. | 3 | 민창 | #162 | Done | ||||||||||||||||||||||||||
72 | 유저는 기록 제목을 입력한 후 기록을 저장할 수 있다. | UseCase는 Repository로 기록 데이터 저장을 요청한다. | 🏀🏀🏀🏀🏀 | 1 | 창민, 민창 | #44 | Done | ||||||||||||||||||||||||
73 | Repository는 �CoreData에 기록 데이터를 저장한다. | 6 | 창민, 민창 | #46 | Done | ||||||||||||||||||||||||||
74 | 유저는 음성 안내를 받을 수 있다. | 설정화면에서 음성 안내 여부를 확인한다. | 🏀🏀🏀 | 2 | 민창 | #189 | Done | ||||||||||||||||||||||||
75 | 1km 간격으로 총 거리, 소요 시간, 현재 고도에 대한 알림을 음성으로 받는다. | 2 | 민창 | #190 | Done | ||||||||||||||||||||||||||
76 | Background 에서도 음성 안내를 들을 수 있다. | 1 | 민창 | #223 | Done | ||||||||||||||||||||||||||
77 | 측정 제목 화면 | 유저는 측정 제목을 입력할 수 있는 화면을 볼 수 있다. | Coordinator를 이용해 측정 제목 화면으로 넘어간다. | 🏀🏀🏀 | 2 | 민창 | #102 | Done | |||||||||||||||||||||||
78 | 측정 제목 화면 View를 작성한다. | 3 | 민창 | #103 | Done | ||||||||||||||||||||||||||
79 | 등산 기록 제목을 입력해 저장한다. | 1 | 민창 | #105 | Done | ||||||||||||||||||||||||||
80 | 제목이 TextField의 최대 크기를 넘어갈 시 동적으로 Text의 크기를 조절한다. | 0.5 | 민창 | #109 | Done | ||||||||||||||||||||||||||
81 | 기록 제목을 입력하는 Modal을 띄운다. | 1 | 민창 | #48 | Done | ||||||||||||||||||||||||||
82 | 기록 제목을 입력하지 않으면 빈 문자열로 이름이 저장된다. | 1 | 민창 | #98 | Done | ||||||||||||||||||||||||||
83 | 등산 기록의 제목이 20자를 넘어가지 않는다. | 1 | 민창 | #99 | Done | ||||||||||||||||||||||||||
84 | 사진 동의 화면 | 유저는 사진 기록 동의 화면을 볼 수 있다. | 사진 기록 동의 화면 View를 작성한다. | 🏀🏀🏀 | 2 | 민창 | #158 | Done | |||||||||||||||||||||||
85 | 사진 허용하기 버튼을 누르면 앱에 대한 사진 접근이 허용이 delegate로 전달된다. | 0.5 | 민창 | #159 | Done | ||||||||||||||||||||||||||
86 | 기록 화면 | 유저는 등산 기록을 확인할 수 있다 | CoreData에서 데이터를 �가져온다. | 🏀🏀🏀 | 3 | 창민, 민창 | #128 | Done | |||||||||||||||||||||||
87 | 기록된 데이터를 통해 새로운 데이터를 만들어낸다. | 🏀🏀🏀 | 2 | 창민 | #152 | Done | |||||||||||||||||||||||||
88 | 유저는 전체 등산의 총 현황을 확인할 수 있다. | 등산기록들의 걸은 거리, 횟수, 시간, 걸음을 모두 합하여 상단에 표시한다 | 🏀🏀🏀 | 2 | 재웅, 창민 | #168 | Done | ||||||||||||||||||||||||
89 | 유저는 월별로 등산 현황을 확인할 수 있다. | 저장된 등산 기록들을 월별로 나누어 표시한다. | 🏀🏀🏀 | 2 | 재웅, 창민 | #169 | Done | ||||||||||||||||||||||||
90 | 유저는 개별 기록을 확인할 수 있다. | 측정된 등산기록 각각의 거리, 시간, 고도차, 걸음걸이를 목록으로 표시한다 | 🏀🏀🏀🏀🏀 | 2 | 재웅, 창민 | #170 | Done | ||||||||||||||||||||||||
91 | 유저는 특정 등산기록을 길게 눌러 이름을 수정할 수 있다. | CoreData에 저장된 선택된 등산 기록의 이름을 변경한다. | 🏀 | 2 | 창민, 지원 | #256 | Done | ||||||||||||||||||||||||
92 | 등산 기록의 제목은 20자로 제한한다. | 1 | 민창 | #99 | Done | ||||||||||||||||||||||||||
93 | 유저는 특정 등산기록을 길게 눌러 삭제할 수 있다. | CoreData에 저장된 선택된 등산 기록을 삭제된다. | 🏀🏀 | 2 | 창민, 지원 | #255 | Done | ||||||||||||||||||||||||
94 | 유저는 등산 각각의 정보로 이동할 수 있다. | 등산을 나타내는 셀 클릭 시 Navigation형태로 상세 등산 기록 화면으로 이동한다. | 🏀🏀🏀🏀🏀 | 1 | 재웅, 지원 | #240 | Done | ||||||||||||||||||||||||
95 | 개별 기록 화면 | 유저는 지도를 통해 등산하였던 경로를 확인 할 수 있다. | 지도상에 경로를 표시한다. 일시정지 되었던 구간은 표시하지 않는다. | 🏀🏀🏀🏀🏀 | 1 | 지원 | #257 | Done | |||||||||||||||||||||||
96 | 지도상에 출발점과 종료점을 표시한다. | 🏀🏀🏀 | 2 | 재웅 | #325 | Done | |||||||||||||||||||||||||
97 | 등산 중 촬영한 사진의 데이터를 CoreData에서 가져온다. | 2 | 민창 | #275 | Done | ||||||||||||||||||||||||||
98 | 경로상에 찍었던 위치에 말풍선을 띄워 사진썸네일을 표시한다. | 4 | 민창 | #276 | Done | ||||||||||||||||||||||||||
99 | 유저는 썸네일 사진을 선택적으로 띄울 수 있다. | 토글기능으로 사진썸네일을 경로에서 보이거나 숨길 수 있다. | 🏀 | 2 | 재웅 | #277 | Done | ||||||||||||||||||||||||
100 | 유저는 등산중에 찍었던 사진을 앨범 형식으로 확인 할 수 있다. | 아이폰 사진 앱 처럼 FlowLayout으로 표시한다. | 🏀🏀 | 3 | 민창 | #278 | Done |