| 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 | 회원 | 로그인 | 일반 로그인을 진행한다. | 아이디 / 비밀번호 입력 / 자동 로그인 | ||||||||||||||||||||||
3 | 소셜 로그인(구글, 카카오, 네이버)을 진행한다. | |||||||||||||||||||||||||
4 | 로그아웃 | 로그아웃을 진행한다. | 로그아웃 | |||||||||||||||||||||||
5 | 회원가입 | 일반 회원가입을 진행한다. | 이메일(중복확인), 이름(닉네임), 비밀번호(확인), 프로필 | |||||||||||||||||||||||
6 | 소셜 회원가입(구글, 카카오, 네이버)을 진행한다. | |||||||||||||||||||||||||
7 | 회원 탈퇴 | 회원 삭제 | 개인 캘린더 -> 관련 캘린더 삭제 그룹 캘린더 -> 탈퇴 회원이 오너인 경우: 권한 넘기기(선택), 다른 사람에게 권한 부여(랜덤) | |||||||||||||||||||||||
8 | 회원정보 수정 | 회원정보를 수정한다. | 비밀번호 확인 -> 이메일 이외의 정보(이름, 비밀번호 등)를 수정한다. | |||||||||||||||||||||||
9 | 회원 검색 | 회원을 검색한다. | - 회원의 아이디로 회원을 검색한다. - 캘린더 및 이벤트 초대에 사용 | |||||||||||||||||||||||
10 | 이벤트 | 이벤트 추가 | 캘린더에 이벤트를 추가한다. | 이벤트 이름, 이벤트 색, 시간(시작,종료 / 종일), 장소, 참석자(초대), 캘린더 선택, 중요도, 메모, 첨부파일, 반복 여부, 알림(1일전, 1시간전, 30분전, 10분전, 사용자 지정) [개인] 개인 캘린더의 일정이라면 본인만 추가 가능 [그룹] 일정에 대한 변경 권한이 있는 유저만 추가 가능. 보기만 가능한 유저는 403 | ||||||||||||||||||||||
11 | 이벤트 수정/삭제 | 캘린더에서 이벤트를 수정/삭제 | [개인] 개인 캘린더의 일정이라면 본인만 수정/삭제 가능 [그룹] 일정에 대한 변경 권한이 있는 유저만 수정/삭제 가능. 보기만 가능한 유저는 403 | |||||||||||||||||||||||
12 | 이벤트 검색 | 해당 이벤트를 검색한다. | 이벤트 명으로 검색 | |||||||||||||||||||||||
13 | 이벤트 알림 | 해당 이벤트에서 설정한 알림 시각에 맞춰 알림을 준다. | 웹 사이트 알림창 | |||||||||||||||||||||||
14 | 이벤트 초대 | 그룹 캘린더의 이벤트에 회원을 초대한다. | 웹 사이트 알림창, 그룹 캘린더에 존재하는 이벤트만 초대 가능 | |||||||||||||||||||||||
15 | 이벤트 초대 알림 | 회원에게 이벤트 참석 여부 알림을 보낸다. | 웹 사이트 알림창 (알림 모아보기) [표시] 초대인, 캘린더명, 이벤트명, 시간, 참석 여부(수락, 거절, 보류, 읽지않음) | |||||||||||||||||||||||
16 | 이벤트 초대 참석 여부 확인 | 회원의 이벤트 참석 여부를 확인한다. | - 이벤트를 초대 받은 회원의 참석 여부(수락, 거절, 보류, 읽지않음)를 확인할 수 있다. | |||||||||||||||||||||||
17 | 이벤트 초대 참석 여부 수정 | 회원의 이벤트 참석 여부를 수정한다. | 회원의 이벤트 참석 여부를 수정할 수 있다. | |||||||||||||||||||||||
18 | 캘린더 | 개인 캘린더 | 개인 캘린더 한개 제공 | 회원 이름으로 된 개인 캘린더 제공 | ||||||||||||||||||||||
19 | 캘린더 조회 | 이벤트의 리스트를 조회한다 | 회원의 개인 캘린더 + 회원이 속한 그룹 캘린더 | |||||||||||||||||||||||
20 | 그룹 캘린더 생성 | 새로운 그룹 캘린더를 만든다. | 캘린더 생성 | |||||||||||||||||||||||
21 | 그룹 캘린더 삭제 | 특정 캘린더 내부의 모든 이벤트들과 캘린더 자체를 삭제한다. | - 캘린더 관리자만 삭제 가능하다. - 캘린더를 삭제한다. 내부 모든 일정들도 연달아 삭제된다. - 다른 회원이 존재해도, 전부 삭제 - 삭제 시, 패스워드 인증 | |||||||||||||||||||||||
22 | 그룹 캘린더 수정 | 특정 캘린더의 정보를 수정한다. | 이름, 내용 | |||||||||||||||||||||||
23 | 그룹 캘린더 초대 | 특정 회원에게 캘린더를 초대한다. | - 이메일로 회원 조회 - 캘린더 관리자만 구독 초대가 가능하다. - 해당 회원이 수락하면 회원의 캘린더에 추가된다 | |||||||||||||||||||||||
24 | 그룹 캘린더 회원 보기 | 그룹 캘린더의 회원 리스트를 보여준다. | - 회원 아이디, 이름, 권한 | |||||||||||||||||||||||
25 | 그룹 캘린더 권한 설정 | 캘린더 구독에 대한 권한을 설정한다. | - 캘린더 관리자만 권한 설정이 가능하다. [ 권한 ] - 이벤트 보기만 가능 - 이벤트 변경 가능 (추가, 수정, 삭제) - 이벤트 변경 및 캘린더 초대 가능 (캘린더 관리자) | |||||||||||||||||||||||
26 | 그룹 캘린더 해제 | 그룹 캘린더에서 나가기 | 더이상 해제한 그룹 캘린더를 사용자의 화면에서 보지 않는다. | |||||||||||||||||||||||
27 | 기본 제공 캘린더 | 공휴일 캘린더 | 향후, 다른 국가의 공휴일 추가 가능 API로 받아와야할지, DB에 저장할지 고민 | |||||||||||||||||||||||
28 | 할 일 (To-Do) | 할 일 리스트 보기 | 해당 캘린더에 존재하는 할 일 리스트를 보여준다. | 보류 | ||||||||||||||||||||||
29 | 할 일 추가 | 할 일을 추가한다. | 해당 캘린더의 할 일에 추가한다. [표시] 할 일 제목, 날짜 및 시간, 위치, 설명, 반복여부, 알림, 우선순위, 첨부파일 | |||||||||||||||||||||||
30 | 할 일 수정 | 할 일을 수정한다. | 할 일 추가 내용과 동일 | |||||||||||||||||||||||
31 | 할 일 삭제 | 할 일을 삭제한다. | 할 일을 삭제한다. | |||||||||||||||||||||||
32 | 할 일 검색 | 할 일을 검색한다. | 검색한 할 일의 결과물을 보여준다 [ 검색 필터 ] - 할 일 제목 - 날짜 / 시간 | |||||||||||||||||||||||
33 | 할 일 상태 변경 | 할 일의 상태를 변경한다. | 할 일의 상태를 변경한다. To-Do 형태로 만드는게 나을까? [ 상태 ] - 대기중 - 진행중 - 완료 | |||||||||||||||||||||||
34 | 할 일 필터링 | 날짜 순으로 정렬 | 날짜를 기준으로 오름차순, 내림차순으로 정렬한다. | |||||||||||||||||||||||
35 | 할 일 우선순위 순 정렬 | 우선 순위 순으로 정렬한다 [ 우선 순위 ] 1-5단계? (잘 모르겠움) | ||||||||||||||||||||||||
36 | 할 일의 상태별로 필터링 | 체크박스로 원하는 상태의 할 일 리스트를 필터링한다. | ||||||||||||||||||||||||
37 | 할 일 알림 | 해당 할 일에서 설정한 알림 시각에 맞춰 알림을 준다. | - PWA 푸쉬 알림 - 슬랙 알림 | |||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | 의사 결정 | |||||||||||||||||||||||||
41 | 형상 관리 | git | ||||||||||||||||||||||||
42 | git 호스팅 | github | ||||||||||||||||||||||||
43 | 이슈 관리 도구 | jira | ||||||||||||||||||||||||
44 | 깃 브랜치 모델 | master, develop, feature | ||||||||||||||||||||||||
45 | API 스펙 | rest api | ||||||||||||||||||||||||
46 | 직렬화 포맷 | |||||||||||||||||||||||||
47 | 사용자 인증 | |||||||||||||||||||||||||
48 | 인증 스키마 | |||||||||||||||||||||||||
49 | URI 설계, 상태코드 | |||||||||||||||||||||||||
50 | API 문서화 방식 | |||||||||||||||||||||||||
51 | 프로그래밍 언어 | java | ||||||||||||||||||||||||
52 | 웹 프레임워크 | spring boot | ||||||||||||||||||||||||
53 | 의존성 관리 | gradle | ||||||||||||||||||||||||
54 | 인프라 | 클라우드(aws) | ||||||||||||||||||||||||
55 | DB | RDBMS(mysql or maria) | ||||||||||||||||||||||||
56 | CI / CD | |||||||||||||||||||||||||
57 | 애플리케이션 구조 | |||||||||||||||||||||||||
58 | 쿼리 처리 방식 | JPA | ||||||||||||||||||||||||
59 | JWT 관리 방식 | |||||||||||||||||||||||||
60 | DB 스키마 정의 | |||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||