-
Notifications
You must be signed in to change notification settings - Fork 2
Team Rules
Commit 메시지 규칙
- 제목과 본문을 한 줄 띄워 분리하여 작성한다.
- 제목은 영문 기준 50자 이내로 작성한다.
- 제목 첫글자는 대문자로 작성한다.
- 제목 끝에 마침표(.)는 생략한다.
- 제목은 명령어로 작성한다.
- 본문은 50자마다 줄을 바꾸어 작성한다.
- 본문은 어떻게 변경했는지 보다 무엇을 변경했는지, 왜 변경했는지 에 맞추어 작성한다.
[client] fix: #0000 커밋 제목 [커밋 본문]
-
클라이언트 ・ 서버 여부 : [client] [server]
-
Commit Type : type
| Type | Description |
|---|---|
| feat | 새로운 기능을 추가할 경우 |
| fix | 버그를 고친 경우 |
| docs | 문서를 수정한 경우 |
| style | 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 |
| refactor | 프로덕션 코드 리팩토링 |
| chore | 빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X) |
-
Issue ・ PR Number :
#0000 -
커밋 내용 :
main commit message
Lint 규칙
//.eslintrc.json
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"standard",
"plugin:prettier/recommended"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["react"],
"rules": {
"react/react-in-jsx-scope": "off"
}
}// .prettierrc.json
{
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "es5",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "always"
}이름 규칙
PR 규칙
Issue 규칙
Node Version
-
Node v16.7.0
-
NPM v7.20.3
추가사항
- am 9:00 회의 진행, 코드 리뷰, merge
- pm 12:00 점심 시간 (1시간)
- pm 03:00 휴식 시간 (15분)
- pm 06:00 저녁 시간 (2시간)
- pm 08:00 KPT 회고 작성, 코드 리뷰
- 질문자에 대한 호응을 잘 해준다.
- 이해가 가지 않으면 바로 말하여 이해하고 넘어간다.
- 상대방의 말을 끊지 않는다.
- 상대방의 말에 불쾌했다면 바로 말하여 해결한다.
- 회의에 지각할 시 모두 납득할 만한 구체적인 이유를 말한다. 사전에 지각 사유를 디스코드에 남긴다.
- 의견 대립 시 다수결로 결정한다. 만약 의견이 2:2로 갈릴 시, 사다리타기를 통해 결정한다.
Client 초기 설정
-
[client] chore: Initialize project using Create React App
- npx create-react-app client --use-npm
-
[client] chore: Initialize public folder
-
[client] chore: Initialize file structure
-
[client] chore: Set up eslint & prettier
- npm install --save-dev eslint
- CRA 설치할 때 함께 설치되어 생략
- npx eslint --init
- How would you like to use ESLint? · problems
- What type of modules does your project use? · esm
- Which framework does your project use? · react
- Does your project use TypeScript? · No
- Where does your code run? · browser
- What format do you want your config file to be in? · JSON
- Would you like to install them now with npm? · Yes
- npm install --save-dev eslint
- npm install --save-dev eslint-config-standard
// .eslintrc.json
{
"extends": ["standard"]
}
npm install --save-dev --save-exact prettier
npm install --save-dev eslint-config-prettier
npm install --save-dev eslint-plugin-prettier// .eslintrc.json
{
"extends": ["plugin:prettier/recommended"]
}// .prettierrc
{
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "es5",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "always"
}-
[client] chore: Add react-app-polyfill
- npm install react-app-polyfill
-
[client] chore: Set up react-app-polyfill
-
[client] chore: Add prop-types
- npm install prop-types
-
[client] chore: Add react-router-dom
- npm install react-router-dom
-
[client] chore: Add axios
- npm install axios
-
[client] chore: Add styled-components
- npm install styled-components
-
[client] chore: Add styled-normalize
- npm install styled-normalize
-
[client] chore: Set up styled-normalize
-
[client] chore: Add redux & react-redux
- npm install redux react-redux
-
[client] chore: Set up redux & react-redux
-
[client] chore: Set up module system
-
[client] chore: Update gitignore
-
docs: Initialize README.md
Server 초기 설정
-
[server] chore: Initialize project
- npm init
-
[server] chore: Set up eslint & prettier
- npm install --save-dev eslint
- npx eslint --init
- How would you like to use ESLint? · problems
- What type of modules does your project use? · commonjs
- Which framework does your project use? · none
- Does your project use TypeScript? · No
- Where does your code run? · node
- What format do you want your config file to be in? · JSON
- npx install --save-dev eslint-config-standard
// .eslintrc.json
{
"extends": "standard"
}
npm install --save-dev --save-exact prettier
npm install --save-dev eslint-config-prettier
npm install --save-dev eslint-plugin-prettier// .eslintrc.json
{
"extends": ["plugin:prettier/recommended"]
}// .prettierrc
{
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "es5",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "always"
}-
[server] chore: Add nodemon
- npm install --save-dev nodemon
-
[server] chore: Add express
- npm install express
-
[server] chore: Add cors
- npm install cors
-
[server] chore: Add cookie-parser
- npm install cookie-parser
-
[server] chore: Add helmet
- npm install helmet
-
[server] chore: Add morgan
- npm install morgan
-
[server] chore: Add multer
- npm install multer
-
[server] chore: Add axios
- npm install axios
-
[server] chore: Add bcrypt
- npm install bcrypt
-
[server] chore: Add dotenv
- npm install dotenv
-
[server] chore: Add jsonwebtoken
- npm install jsonwebtoken
-
[server] chore: Add mysql2
- npm install mysql2
-
[server] chore: Add sequelize
- npm install sequelize
-
[server] chore: Add sequelize-cli
- npm install --save-dev sequelize-cli
-
[server] chore: Add rule to eslint
-
[server] chore: Add env example
-
[server] chore: Add config for env
-
[server] chore: Initialize sequelize
-
[server] chore: Initialize app