-
Notifications
You must be signed in to change notification settings - Fork 4
요구사항 분석
kkole3897 edited this page Oct 27, 2020
·
2 revisions
- OAuth
- Passport
- GIT OAuth를 이용한 로그인 구현
- 우선 순위 낮음
- 로그인 유저의 전체 이슈 조회를 위한 API 기능
- 해당 이슈 내용 조회
- 새로운 이슈 생성을 위한 GET
- 보유 라벨 조회
- 마일스톤 조회
- 필터와 검색어까지 동시에 처리하려면 DB로 쿼리를 보내서 처리
- 필터에서 추가로 작성자, 레이블, 마일스톤, 담당자에 대한 처리
- 처음 로드시 목록 가져옴
- 이슈 생성 기능 POST를 이용한 API 필요
- 이미지 저장 BLOB를 이용해 DB에 저장
- 이슈 수정
- 게시물에 해당하는 댓글 생성
- 게시물에 해당하는 댓글 조회
- 레포는 ....단 하나
- 이슈 오픈 클로즈 수정
- 레이블 CREATE POST API
- 레이블 READ API
- 레이블 DELETE API
- 레이블 UPDATE API
- 레이블은 색깔,설명도 포함해서 DB를 짜야함
- 마일스톤 CRUD API
- 마일스톤을 READ 할때는 포함하는 ISSUE의 완료율과 갯수를 포함해서 가져와야함
- 마일스톤 DELETE 할 시 참조하는 테이블을 캐스케이드
- REACT
- Nginx
- webpack, babel
- css in js (https://d0gf00t.tistory.com/22)
- MV 패턴
- 함수형 프로그래밍
- OAUTH 로그인
- 로그인 회원가입 (선택)
- 아이디,비밀번호 자리 수 검사
- 이슈 목록 조회 쿼리 및 출력
- 이슈 시간, 라벨, 마일스톤, 제목, 댓글 갯수?
- 필터 적용시 검색창에 반영됨
- 선택 체크박스
- 선택 개수 표시
- 선택시 Marked as 노출, 다른 필터 사라짐
- Open/Close 일괄처리
- 전체 선택 기능
- 라벨, 마일스톤 갯수 표시
- 이슈 생성 버튼
- 드롭다운
- Filter
- 열린 이슈
- 본인이 작성한 이슈
- 자신에게 할당된 이슈
- 자신이 댓글을 작성한 이슈
- 닫힌 이슈
- Search
- Author
- Label
- Milestone
- Assignee
- 필터 적용시 필터 조건 초기화 하는 버튼 생성
- 필터 적용/해제 시마다 검색창 내 텍스트 변경
- 이슈 CREATE 쿼리 (Submit new issue)
- Assignees, Labels, Milestone 설정
- 드롭다운 내용은 처음 눌렀을 때 가져옴
- 다음에 눌렀을 땐 캐시된 내용으로 표시
- 각 항목을 선택시 선택한 것으로 변경해서 표시
- Assignee는 선택 안 했으면 본인, 나머지는 미설정 상태
- 이미지 업로드 창, 이미지 주소 마크다운 형식으로 추가
- 제목 입력시 submit 버튼 활성화
- 작성자 프로필 표시
- 타이핑 하지 않고 2초가 지나면 우측 하단에 글자 수가 출력
- 이슈 제목, 내용, 이슈 번호, 오픈 여부, 작성자(프로필), 해당 이슈가 오픈된 시간, 코멘트 개수, 코멘트 내용 표시
- Assignees, Labels, Milestone 설정 동일하게 작동
- 이미지 첨부, 첨부 이미지 표시
- 이슈 생성과 마찬가지로 2초간 미입력시 글자 수 출력
- 이슈 작성자와 댓글을 동일한 디자인으로 표시. 단, 다른 사람이 단 댓글은 edit 버튼이 없음.
- 최하단에는 코멘트를 작성할 수 있는 영역 표시, 코멘트 편집화면과 동일한 구조이나 update commit 대신 close issue와 comment 버튼 표시
- 코멘트 내용을 작성하여야 comment 버튼 활성화 됨, 내용이 없을 경우 비활성화
- close/reopen issue 버튼 변경
- 레이블 READ 쿼리
- 레이블 UPDATE 쿼리
- labels <-> milestones 화면 이동 기능
- 할당된 색깔에 맞게 배경색을 입힌 레이블을 보여주어야 함
- delete 시 확인 팝업(alert) 후 삭제 진행/취소
- 한줄에 label, 설명, edit, delete 표시
- edit 시 이름, 색상 랜덤버튼에 따라 미리보기 표시(타이핑 멈추면)
- 캔슬하면 원상 복귀
- New label 누르면 입력 창 나타남
- label name, description(옵션), color 입력
- label preview 부분에 입력한 결과 즉시 반영해서 확인 가능(타이핑 1초간 멈추면)
- color 색상 코드 입력으로 변경 가능
- color는 refresh 버튼을 누르면 랜덤하게 변경
- 마일스톤 CREATE 쿼리
- 타이틀을 제외하고 입력하지 않아도 생성 가능
- 타이틀
- DUE DATE(유효성 검사)
- 내용
- 마일스톤 READ 쿼리, 표시
- 마일스톤 이름, 완료일, 마일스톤 설명
- 완료일이 없으면 no due date
- 마일스톤 설명은 한줄로 표시, 없으면 안 함
- 마일스톤 UPDATE 쿼리
- 제목, 날짜, 설명 수정 가능
- CREATE와 같은 형식
- 캔슬 세이브 버튼 클릭시 목록 화면으로 리다이렉트
- 마일스톤 DELETE 쿼리
- 삭제 전에 경고창 띄우기
- 마일스톤만 삭제
- labels<->milestones 화면 이동 기능
- 마일스톤에 해당한 이슈 완료율 시각화 표시