---
# System prepended metadata

title: Day 1 스프린트 개발계획

---

# 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 옵션 구체화

![](https://i.imgur.com/yoX2WJc.png)
![](https://i.imgur.com/1xSH1NK.png)

## 일정계획

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