github을 활용한 프로젝트 SR
사전 준비: 기획 To Do 리스트
2주간의 First Project가 시작 되었다. 팀장 선정, 팀 이름, 프로젝트 이름을 정했다. 그리고 깃헙 레포의 Wiki 탭을 활용해서 아래와 같은 부분들을 작성해 주었다.
- 프로젝트 소개
- 프로젝트에 대한 전반적인 서비스 설명과 핵심기능
- 팀 룰
- 각 팀 원의 포지션과 Worklog
- 와이어프레임
- 문서 링크 & 이미지 첨부
- DB 스키마
- 이미지 첨부
- API 문서
- 문서 링크
- 기타 (UI Design, Flow Chart 등)
프로젝트 아이디에이션
프로젝트에서 어떤 서비스를 구현할지 다양하게 아이디어를 모으고 협의를 통해 어떤 기능들을 구현할 지 선택했다. First Project 인 점을 감안해 배운 내용 복습에 초점을 맞추었지만 어느정도 욕심을 부리기도 한듯 하다.
팀 규칙 작성
- 공통 제공 사항
- 커밋 메시지 규칙
- Lint 규칙
- 브랜치 이름 형식
- PR 형식
- Issue 형식
- 팀원들 간 협의를 통해 추가할 사항
- 의사소통 규칙
- 휴식 규칙
팀원별 역할 선정(포지션 분배)
우리 팀 같은 경우는 First Project에서 프론트 2, 백엔드 2로 배정하였고 Final Project에서 포지션을 스위칭 해서 프론트 , 백엔드에서 분야 모두에서 최소한의 지식을 습득하기로 결정 하였다.
프론트엔드 세부 기획 진행
- 페이지 리스트업, 나누기
- 와이어프레임 작성 (figma)
백엔드 세부 기획 진행
- 스키마 작성 : dbdiagram을 사용해서 데이터베이스 구조를 설계했다. (추후 수정 필요할듯)
- API 문서 작성: 엔드포인트 요청 방식과 응답 결과를 나타낸 문서이다. 프론트, 백엔드 함께 작업을 했고 아마 피드백을 받은 후 수정이 필요 할듯 하다.
- 아키텍처 다이어그램 작성: cloudcraft 를 이용해서 시스템 전체적인 흐름을 그려 보았다.
태스크 카드 작성 및 분배
깃헙 레포지토리에서 Issues 탭을 이용해서 작성하는 법을 익혔다.
구현할 기능들을 최대한 세분화해서 태스크들을 분배했다. 앞으로 진행해 가면서 효율적으로 개선해야 할 것 같다.
이슈 템플릿을 이용해서 이슈 작성을 간편화하고 프로젝트 칸반보드, 마일스톤 작성하는 법도 익혔다.
다음은 이슈 템플릿으로 태스크 카드를 작성해서 프로젝트 칸반 보드에서 활용 해 준 모습.
Pull Request 후에 태스크 카드 관리
1. Merge하기 전 세팅
- 태스크 카드 Link
- PR을 보냈다면 Merge하기 전에
Linked issues
로 이슈(태스크 카드)를 링크할 수 있다. - 해당 PR이 Merge된다면 자동으로 이슈(태스크 카드)도 close된다.
- PR을 보냈다면 Merge하기 전에
2. 태스크 카드 자동 닫기
생성한 태스크 카드에 맞게 branch를 만들고, PR을 날린 뒤 merge하는 경우,위와 같이 세팅을 먼저 진행했다면 자동적으로 이 태스크 카드를 close 할 수 있다.
[그림] PR 및 Merge 진행 후, Linked issues
로 연결된 태스크가 자동 Close 된 모습
그리고 닫힌 해당 이슈(태스크 카드)로 돌아가서 Merge전까지 걸린 시간을 라벨링한다.
C:5h
와 같이 라벨을 작성하면 된다.