| 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 | Product Backlog | |||||||||||||||||||||||||
10 | 번호 | 분류 | 스토리 | 세부 구현 | 우선순위 | 진행 상태 | 담당자 | |||||||||||||||||||
11 | 1 | 개발 환경 | 프론트엔드 개발 환경을 구성한다. | 1-1 번들링 툴을 이용하여 react 프로젝트를 구성한다. (개발, 배포버전 관리가능) | 공통 | |||||||||||||||||||||
12 | 1-2 Babel을 추가하고 ES2017로 트랜스파일링되는 것을 확인한다. | |||||||||||||||||||||||||
13 | 1-3 Sass를 추가하고 SCSS가 잘 컴파일되어 번들링되는 것을 확인한다. | 공통 | ||||||||||||||||||||||||
14 | 1-4 Typescript를 세팅한다. | 공통 | ||||||||||||||||||||||||
15 | 1-5 ESLint를 세팅하고, 이를 적용시킨다. | 공통 | ||||||||||||||||||||||||
16 | 1-6 react three fiber, drei 추가 | 세연 | ||||||||||||||||||||||||
17 | 1-7 three.js 캔버스에 정육면체를 렌더링한다. | 세연 | ||||||||||||||||||||||||
18 | 1-8 three.js 캔버스에 조명을 추가한다. | 세연 | ||||||||||||||||||||||||
19 | 1-9 three.js 캔버스에 카메라를 추가한다. | 세연 | ||||||||||||||||||||||||
20 | 1-10 three.js 캔버스에 분홍색 그라데이션 배경을 추가한다. | 세연 | ||||||||||||||||||||||||
21 | 2 | 백엔드 개발 환경을 구성한다. | 2-1 Node.js express 서버를 구성한다. | 공통 | ||||||||||||||||||||||
22 | 2-2 MongoDB 클라우드 서비스를 사용하여 데이터베이스를 생성한다. | 공통 | ||||||||||||||||||||||||
23 | 2-3 mongoose를 이용하여 서버와 DB연결을 확인한다. | 공통 | ||||||||||||||||||||||||
24 | 2-4 Python FastAPI 자연어 처리 서버를 구성한다. | 공통 | ||||||||||||||||||||||||
25 | 2-5 Python 서버와 Node.js 서버 간 통신을 테스트한다. | 공통 | ||||||||||||||||||||||||
26 | 2-6 .env 파일을 서브모듈로 관리한다. | |||||||||||||||||||||||||
27 | 3 | 배포 환경 (CI / CD) | Github Action과 Docker 연동 | 3-1 Node.js 서버와 Python 서버의 Dockerfile을 작성한다. | 공통 | |||||||||||||||||||||
28 | 3-2 Dockerfile로 이미지가 정상 생성되는 지 확인한다. | 공통 | ||||||||||||||||||||||||
29 | 3-3 github action .yml을 작성해 컨테이너 이미지를 자동 생성한다. | 공통 | ||||||||||||||||||||||||
30 | 3-4 생성한 이미지를 docker hub에 push한다. | 공통 | ||||||||||||||||||||||||
31 | 4 | Github Action과 클라우드 서버 연동 | 4-1 클라우드 서버 인스턴스를 생성한 후 docker를 설치한다. | 공통 | ||||||||||||||||||||||
32 | 4-2 클라우드 서버에서 docker hub에 로그인한다. | 공통 | ||||||||||||||||||||||||
33 | 4-3 github action으로 클라우드 서버에 ssh 정상 연결을 확인한다. | 공통 | ||||||||||||||||||||||||
34 | 4-4 3번에서 생성한 이미지를 실행하게 끔 .yml을 작성한다. | 공통 | ||||||||||||||||||||||||
35 | 4-5 배포한 서버가 정상 연결되는 지 확인한다. | 공통 | ||||||||||||||||||||||||
36 | 5 | Https 적용하기 | 5-1 각 이미지마다 서버를 띄우고 해당 서버 연결 확인 | 종찬 | ||||||||||||||||||||||
37 | 5-2 서버 간 통신 정상 작동 확인 | 종찬 | ||||||||||||||||||||||||
38 | 5-3 프론트 서버와 Express 서버간 https 연결 구축 (CORS 때문에 필요할 듯..? ) | 종찬 | ||||||||||||||||||||||||
39 | 5-4 github action로 해당 설정 자동화 하기 ( 이 부분도 더 알아봐야 함 ) | 종찬 | ||||||||||||||||||||||||
40 | 6 | Kubernetes 설정 | 6-1 nCloud Kubernetes 서비스를 생성한다. | 종찬 | ||||||||||||||||||||||
41 | 6-2 Docker 이미지를 사용해 Kubernetes 상에서 정상 작동이 되는 지 확인한다. | |||||||||||||||||||||||||
42 | 7 | Github Action과 Kubernetes 연동 | 7-1 github action와 Kubernetes 연결이 되는 지 확인한다. | |||||||||||||||||||||||
43 | 7-3 github action으로 Kubernetes에서 Docker 이미지를 pull 해와서 장착하는 로직을 구성한다. | |||||||||||||||||||||||||
44 | 7-4 Kubernetes 상에서 서버가 정상 작동이 되는 지 확인한다. | |||||||||||||||||||||||||
45 | 7-5 기존 로직과 합쳐 배포 자동화를 구축한다. | |||||||||||||||||||||||||
46 | 8 | 셰이더 | 셰이더를 구현한다. | 8-1 부들부들한 플라스틱같은 모뉴먼트 밸리 같은 셰이더를 구현한다. | 기종 | |||||||||||||||||||||
47 | 9 | 상단 바 | 상단 바 상호작용 | 9-1 타이틀이 클릭되면 메인 화면으로 이동된다. | 정욱 | |||||||||||||||||||||
48 | 9-2 우측 메뉴에 로그인 여부를 확인할 수 있도록 유저 정보를 표시한다. | 정욱 | ||||||||||||||||||||||||
49 | 10 | 하단 바 | 배경 음악이 재생된다. | 10-1 테마별 분위기에 맞는 음악을 넣는다. | 정욱 | |||||||||||||||||||||
50 | 11 | 우측 재생(재생 중지)버튼을 클릭한다. | 11-1 배경 음악을 재생하거나 중지한다. | 정욱 | ||||||||||||||||||||||
51 | 12 | 우측 전체화면 버튼을 클릭한다. | 12-1 전체화면 버튼은 토글 상태를 가진다.(토글: 전체화면 전환<->해제) | 정욱 | ||||||||||||||||||||||
52 | 13 | 스크린 샷 버튼을 클릭한다. | 13-1 스크린샷 버튼을 클릭하면 three.js에서 현재 렌더링 중인 화면이 저장된다. | 기종 | ||||||||||||||||||||||
53 | 13-2 three.js 캔버스 렌더러의 상태를 일시적으로 false로 변경 후 true로 변경해야 한다. | 기종 | ||||||||||||||||||||||||
54 | 14 | Monument Gallery 깃허브 링크를 클릭한다. | 14-1 깃허브 링크를 클릭하면 우리 소스코드를 볼 수 있는 깃허브 레포지토리로 이동한다. | 정욱 | ||||||||||||||||||||||
55 | 15 | 캐릭터 이동 | 마우스, 키보드로 캐릭터 이동을 할 수 있다. | 15-1 wasd 및 화살표 방향키를 입력할 수 있다. | 세연, 기종 | |||||||||||||||||||||
56 | 15-2 캐릭터 이동 시 카메라가 정 중앙의 플레이어를 비추도록 한다.(메인 화면의 경우) | 세연, 정욱, 기종 | ||||||||||||||||||||||||
57 | 15-3 캐릭터 이동 시 카메라가 전후좌우로 이동한다.(1인칭 내부 공간의 경우) | 세연, 기종 | ||||||||||||||||||||||||
58 | 15-4 캐릭터는 idle 애니메이션을 가지며, 이 애니메이션은 항시 재생되어야 한다. | 세연, 정욱, 기종 | ||||||||||||||||||||||||
59 | 15-5 캐릭터가 방향을 변경하면 자연스럽게 바라보고 있는 방향으로 회전이 이루어져야 한다. | 세연, 정욱, 기종 | ||||||||||||||||||||||||
60 | 15-6 캐릭터가 움직이면 움직이는 방향으로 플레이어가 앞으로 기울어져야 한다. | 세연, 정욱, 기종 | ||||||||||||||||||||||||
61 | 16 | 카메라 이동 | 마우스, 키보드로 카메라 이동 상태를 조작할 수 있다. | 16-1 카메라 이동 모드 ON(PointerLockControl) 상태에서 특정 키를 누르면 OFF | 세연, 기종 | |||||||||||||||||||||
62 | 16-2 카메라 이동 모드 OFF(OrbitControl) 상태에서 특정 키를 누르면 ON | 세연, 기종 | ||||||||||||||||||||||||
63 | 17 | 마우스 드래그로 카메라를 이동할 수 있다. | 17-1 OrbitControl 상태에서 캔버스를 드래그하면 카메라가 회전한다. | 세연, 기종 | ||||||||||||||||||||||
64 | 18 | 1인칭 UI | 1인칭 상태에서 UI 출력 여부는 카메라 이동 상태에 따라 달라진다. | 18-1 카메라 이동 모드 ON(PointerLockControl) 상태면, UI 출력 모드 OFF | 세연, 기종 | |||||||||||||||||||||
65 | 18-2 카메라 이동 모드 OFF(OrbitControl) 상태면, UI 출력 모드 ON | 세연, 기종 | ||||||||||||||||||||||||
66 | 19 | 메인 | 렌더링 된 작품탑들을 볼수있다. | 19-1 사용자 공간 데이터는 랜덤하게 10개가 불러와지며, 사용자가 공간을 벗어나면 다른 데이터를 불러온다. | 종찬 | |||||||||||||||||||||
67 | 19-2 동적으로 사용자의 공간 데이터를 불러올 때, 이미 로드된 데이터가 불러와지면 안 된다. | 종찬 | ||||||||||||||||||||||||
68 | 19-3 사용자 공간 데이터들을 이용해 작품탑들을 렌더링한다. | 세연,정욱 | ||||||||||||||||||||||||
69 | 19-4 작품탑은 캐릭터 주변 랜덤한 위치에 렌더링되며, 겹쳐질 수 없다. | 정욱 | ||||||||||||||||||||||||
70 | 19-5 작품탑의 텍스처로 키워드 통계, 사진 썸네일이 보여진다. | 세연 | ||||||||||||||||||||||||
71 | 19-6 작품탑 위에 소유자 이름이 보여진다. | 세연 | ||||||||||||||||||||||||
72 | 19-7 작품탑이 있는 바닥에 해당 공간의 방문자 수가 렌더링된다. | |||||||||||||||||||||||||
73 | 19-8 작품탑이 처음에 생성되면 뿅하고 솟아오르는 바운싱 애니메이션으로 생성된다. | |||||||||||||||||||||||||
74 | 20 | 다른 사용자의 작품탑들에 이동 & 작품탑 내부로 이동할 수 있다. | 20-1 방향키로 이동해서 각 사용자들의 작품탑으로 이동할수 있다. | 세연, 정욱, 기종 | ||||||||||||||||||||||
75 | 20-2 작품탑 앞 패널에 플레이어가 위치하면 해당 작품탑의 내부 공간으로 이동한다. | 세연 | ||||||||||||||||||||||||
76 | 20-3 작품탑 내부 공간으로 이동시 해당 공간의 방문자 수가 1 추가된다. | 정욱 | ||||||||||||||||||||||||
77 | 21 | 메인화면 하단에 있는 업로드 버튼을 클릭한다. | 21-1 업로드 버튼을 렌더링한다. | 정욱 | ||||||||||||||||||||||
78 | 21-2 로그인이 되어 있지 않다면, 업로드 버튼을 렌더링한다. | 정욱 | ||||||||||||||||||||||||
79 | 21-3 로그인이 되어 있다면, 내 공간 이동 버튼을 렌더링한다. | 정욱 | ||||||||||||||||||||||||
80 | 21-4 업로드 버튼이 클릭되면 OAuth 로그인 모달을 띄우도록 한다. | 공통 | ||||||||||||||||||||||||
81 | 21-5 갤러리 생성 모달을 표시할 때, 기존에 저장된 갤러리가 존재한다면 기존 갤러리 입장을 선택할 수 있도록 한다. | 기종 | ||||||||||||||||||||||||
82 | 21-6 로그인 상태 확인 API 호출 로딩을 적용한다. | 정욱 | ||||||||||||||||||||||||
83 | 21-7 갤러리 생성 페이지에서 캔버스에 샘플 페이지를 랜더링한다. | 정욱 | ||||||||||||||||||||||||
84 | 21-7 생성하기 클릭 후, 데이터 베이스 저장 시까지 로딩을 적용한다. | 정욱 | ||||||||||||||||||||||||
85 | 22 | 내부 공간 | 조작 모드를 변경할 수 있고 그에 따라 UI 보기/숨기기를 할수 있다. | 22-1 E키를 누르면 모드가 PointerLockControl/OrbitControl로 스위칭된다. | 세연,정욱,기종 | |||||||||||||||||||||
86 | 22-2 모드가 PointerLockControl로 변경되면 UI를 숨기고, 그렇지 않으면 UI를 펼친다. | 세연,정욱,기종 | ||||||||||||||||||||||||
87 | 23 | 플레이어는 공간 바깥으로 나갈 수 없다. | 23-1 플레이어가 각 공간 바깥으로 가지 않도록 충돌 체크를 구현한다. | |||||||||||||||||||||||
88 | 23-2 플레이어 RigidBody와 카메라의 위치를 동기화하고, 방향키를 누르면 RigidBody가 움직이도록 한다. | 정욱, 기종 | ||||||||||||||||||||||||
89 | 24 | 가상의 공간에서 중앙 거석 & 페이지 별 거석들을 볼 수 있다. | 24-1 바닥 요소를 구성한다. | 기종 | ||||||||||||||||||||||
90 | 24-2 3~5개의 키워드를 기준으로 페이지들을 분류하여 맵을 구성한다. | 종찬 | ||||||||||||||||||||||||
91 | 24-3 페이지 생성 시간 정보를 이용하여 최근에 생성한 페이지일수록 가깝게 보이도록 한다. | 종찬 | ||||||||||||||||||||||||
92 | 25 | 중앙 거석으로 이동한다. | 25-1 거석 표면에는 전체 글 키워드 통계를 보여준다. | 기종 | ||||||||||||||||||||||
93 | 25-2 거석 가까이 이동하면 키워드들이 공중에서 둥둥 떠다니는 것이 보여지도록 한다. | 기종 | ||||||||||||||||||||||||
94 | 25-3 키워드는 빌보드 방식을 이용하여 렌더링되며, 어느 각도에서 보든 동일한 정면을 바라보게 한다. | 기종 | ||||||||||||||||||||||||
95 | 26 | 페이지 비석으로 이동한다. | 26-1 가장 큰 비석 표면에는 페이지 제목을 보여준다. | 정욱 | ||||||||||||||||||||||
96 | 26-2 주변 비석 표면에는 소제목을 보여준다. | 세연 | ||||||||||||||||||||||||
97 | 26-3 공중에는 페이지에서 추출한 키워드와 사진의 파편들이 떠다니도록 한다. | 기종 | ||||||||||||||||||||||||
98 | 26-4 키워드 클릭 시 해당 키워드를 쓴 부분을 보여준다. | |||||||||||||||||||||||||
99 | 26-5 사진 파편 클릭 시 사진 조립해서 보여준다. | 기종 | ||||||||||||||||||||||||
100 | 26-6 빈도가 높은 키워드일수록 크게 보이도록 한다. | 기종 | ||||||||||||||||||||||||