# Day 1 스프린트 개발계획
- maong0927
- gitdog01
- Eunbin-Kim
- Kangsukmin
## 오늘해야할 것
- Github 저장소 만들기
- 배포 서버 ( 따로 사용 ) , DB 서버는 백엔드 서버에 ( 클라우드 스토리지 )
- 프로젝트가 무엇인지 파악하기
- 어떤 도구, 라이브러리를 사용할지 정하기
- 해야할 일 ( To Do ) 도출하기
- 그라운드 룰 규칙 Wiki ( 커밋 컨벤션, coding convention, github 조건이나 브런치 전략이나 )
- 자기 소개
- 친해지기
### 자기소개
### 프로젝트가 무엇인지 파악하기
- 무엇을 만들어야 하는가 ?
- Sentry
- 퍼포먼스 ( 로딩시간 , 콜스택 )
- Mongo DB ( ORM 까지 할지는 고민 후에 )
- webpack ( 두 경우 나누었으면 좋겠다 )
- React
- TypeScript
- 무엇을 사용할 것은가 ?
### GitHub 저장소
- 서버 주소 : https://github.com/boostcamp-2020/Project11-A-Web-FE-Performance-Monitoring-Server
- Admin 주소 : https://github.com/boostcamp-2020/Project11-A-Web-FE-Performance-Monitoring-Admin
- SDK 주소 : https://github.com/boostcamp-2020/Project11-C-Web-FE-Performance-Monitoring-SDK
### 그라운드 룰
- 그라운드 룰
- 데일리 스크럼
- 데일리 회고
- 커밋 및 코딩 컨벤션 [Git - 커밋 메시지 컨벤션](https://doublesprogramming.tistory.com/256)과 [커밋 메시지 템플릿](https://jeong-pro.tistory.com/207)
- GitHub 관련
- Coding 관련
# 🔥 11-A팀 - Ground Rule 🔥
## 📜 6계명
1. 사이좋게 지내기.
2. 피드백을 서로 잘 하자.
3. 밥은 먹고, 잠은 자면서 하자.
4. 코어타임에 최대한 집중하고 쉴 땐 쉬기.
5. 말없이 사라지지 않기.
6. 주말은 코드프리징
## 👨👩👧👦 스크럼
- 매일 10시, 15분 간
- 오늘의 TMI
- 오늘의 계획 ( 다 못하면 야근 )
## 🌙 데일리 회고
- 매일 6시 45분 , 15분 간
- 야근이 있다면 저녁먹고 오기
## PR
- 템플릿 설정해서 여기에 맞추어서
## Issue
- 템플릿 설정해서 여기에 맞추어서
- 단위는 백 / 프론트
- 백: API 주소 하나씩?
- 프론트: Atoms, Molecules, Organisms 요소 등을 나눠 하나 단위로?
## Label
- enhancement
New feature or request
- bug & invalid
Something isn't working, it doesn't seem right.
- documentation
Improvements or additions to documentation
- help wanted
Extra attention is needed
++
- frontend
- backend
- deploy server
## Milestone
ex)
- 이슈 마일스톤
- getIssue
- editIssue
- deleteIssue
## 커밋 메시지 컨벤션
[Git - 커밋 메시지 컨벤션](https://doublesprogramming.tistory.com/256)과 [커밋 메시지 템플릿](https://jeong-pro.tistory.com/207)을 참고하여 커밋 컨벤션을 정했다.
- 커밋 메시지 구조
```
type : subject
body
footer
```
- type 종류
| 커밋 타입 | 설명 |
| --------- |:------------------------------------ |
| feat | 새로운 기능 추가 |
| improve | 기존 기능에서 추가적인 향상이 있을때 |
| fix | 버그 수정 |
| docs | 문서 수정 |
| refactor | 코드 리팩토링 |
| test | 테스트 코드 추가 |
| chore | 빌드 업무 수정, 패키지 매니저 수정 |
- subject
- 제목은 50자를 넘기지 않고, 한글로 통일한다.
- 과거시제를 사용하지 않고 명령어로 작성한다.
- "XX화면에서 버그를 수정했음" -> "XX화면 버그 수정"
- "테스트 코드 추가했음" -> "테스트 코드 추가"
- 제목 끝에 마침표(`.`)를 붙이지 않는다.
- 제목과 본문은 띄어쓴다.
- body
- 선택사항이며, 부연설명이 필요할 경우 작성한다.
- 작성할 때는 "What"보다 "Why"를 적도록 한다.
- footer
- 선택사항이며, issue id를 작성할 때 사용한다.
## 브랜치 관리
- Master
- PR 이 끝난 다음에 합쳐져야 합니다.
- Develop
- PR 이 끝난 다음에 합쳐져야 합니다.
- Feature
- 기능별로 여러 브랜치를 생성한다. ex) feature/OAuth
```
feature/[기능]-[작성자] -> feature/[기능] --[테스트 진행]--> dev (3명 Approve)
```
- Hotfix
- 계획에 없는 버그 발견 시 급하게 처리해야 할 일.
---
## 배포서버
- 백엔드 + DB 서버
- pm2로 프로세스 관리 ( 가능하면 클러스터링도 )
- 프론트
- nginx
- SDK
- NPM 배포
- ncloud 서버에서 하는 것으로 하고,
- CI Jenkins ( ncloud 할 수 있으면 상품으로 )
## 해야할일
- 공통
- Sentry 오픈소스 분석 [링크](https://github.com/getsentry/sentry)
- 문제사항 기록
- SDK
- 오류 및 log 수집 백엔드로 보내기
- npm 배포 학습
- 백엔드
- log 데이터를 받아서 DB 에 저장
- log 데이터를 볼 수 있는 REST API 만들기
- MongoDB 구조파악 (ORM 미사용 쪽으로)
- 로그인
- 프론트
- 로그인 ( root(모든 계정에 대해 읽기 쓰기) , owner(읽기 쓰기) , member(읽기))
- 에러 그룹핑
- 발생 빈도 시각화
- 브라우저 대응
- Webpack 옵션 구체화


## 일정계획
- 1주차 : Sentry 오픈소스 분석 + npm , 오류 및 log 수집 백엔드로 보내기 , 기본설정
- 2주차 : log 데이터를 받아서 DB 에 저장 , log 데이터를 볼 수 있는 REST API 만들기 , 프론트에서 REST API 불러오기 , npm 배포
- 3주차 : 로그인 기능 ( 백 & 프론트 ) , log 백엔드 끝내고 , 프론트 발생 빈도 시각화 , 에러그룹핑
- 4주차 : 브라우저 대응 , Webpack 옵션 구체화
- 5주차 : ////////////////