์ค๋, ์๊ฐ๋๋ณ, ์ฃผ๊ฐ ๋ ์จ๋ฅผ ์ ๊ณตํ๊ณ ํ์ฌ ์๊ฐ์ ๋ ์จ์ ๋ง๋ ์ท์ฐจ๋ฆผ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ํ์ฌ ๋ ์จ๊ฐ ์ด๋ค์ง, ์ด๋ค ์ท์ ์ ์ด์ผํ๋์ง๋ฅผ ์๊ฐ์ ์ผ๋ก ์ ๊ณตํ๋ ๋ชจ๋ฐ์ผ ์๋น์ค
์ด๋ํ |
์กฐ๋ณํ |
๊น๋๊ฒฝ |
๋ ธํํฌ |
๋ฐฐํฌ ์์
npm install
npm run start
ํ์ฌ์์น ์์ง, ์ฑ๋ณ/๋์ด ์์ง, ํ, ๋ชจ๋ฌ, ์นด๋์์ ฏ, ์์น, ์ฃผ๊ฐ, ์ค์
์์น์ ๋ณด ์์ง | ์ฑ๋ณ/๋์ด ์์ง | ํ์ฌ์์น์ ๋ฐ๋ฅธ ์ท์ฐจ๋ฆผ |
---|---|---|
![]() |
![]() |
![]() |
์นด๋ ์์ ฏ / ๋ฎ | ์นด๋ ์์ ฏ / ๋ฐค | ์์น ๊ฒ์ |
---|---|---|
![]() |
![]() |
![]() |
์ฃผ๊ฐ ๋ ์จ | ์ค์ |
---|---|
![]() |
![]() |
- ๋งค์ฃผ ์งํ ์ํฉ ๋ฐ ์ด์ ๊ณต์
- ๊ณต์ ๋ ํ์ ๋ด์ฉ์ ๋ ธ์ ์ ๊ธฐ๋ก
- ํ์ ๋ด์ฉ์ ํ ๋๋ก ๋ค์์ฃผ ์ด์๋ฅผ ์ ์ ๋ฐ Github ์ด์๋ก ๋ฑ๋ก
- main
- develop
- ๊ธฐ๋ฅ๋ณ ๋ธ๋์น: feature/forecast
ํ์ | ์ค๋ช |
---|---|
Feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
Fix | ๋ฒ๊ทธ ์์ |
Env | ๊ฐ๋ฐ ํ๊ฒฝ ๊ด๋ จ |
Style | ์ฝ๋ ์์ฒด์ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ, formatting, semicolon ๋ฑ |
Refactor | ์ฝ๋ ๋ฆฌํฉํ ๋ง (๋ ํจ์จ์ ์ธ ์ฝ๋๋ก ๋ณ๊ฒฝ ๋ฑ)(๊ธฐ๋ฅ์ ๋์ผ) |
Design | CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
Comment | ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
Docs | ๋ด๋ถ ๋ฌธ์ ์ถ๊ฐ/์์ |
Test | ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ |
Chore | ๋น๋, ํจํค์ง ๋งค๋์ ์์ , ๊ทธ ์ธ ๊ธฐํ ์์ (.gitignore ๋ฑ) |
Rename | ํ์ผ ๋๋ ํด๋ ๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐ |
Remove | ํ์ผ ๋๋ ํด๋๋ฅผ ์ญ์ ํ๋ ์์ ๋งํ ๊ฒฝ์ฐ |
!BREAKING CHANGE | ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ |
!HOTFIX | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์น๋ ๊ฒฝ์ฐ |
// formatting
{
"bracketSpacing": true,
"jsxBracketSameLine": false,
"jsxSingleQuote": true,
"singleQuote": true,
"proseWrap": "preserve",
"semi": true,
"printWidth": 120,
"endOfLine": "lf",
"useTabs": false,
"tabWidth": 2,
"trailingComma": "all",
"arrowParens": "always"
}
// ESLint
{
"env": {
"es6": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:prettier/recommended",
"prettier/@typescript-eslint"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json",
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": ["@typescript-eslint"],
"rules": {},
"ignorePatterns": ["dist/", "node_modules/"]
}
- ํด๋๋ช : ๋๋ฌธ์
- React Function: ํจ์ ํํ์
- ํจ์: ํจ์ ์ ์ธ๋ฌธ
- ํจ์์ด๋ฆ: camel
- ์ปดํฌ๋ํธ: pascal
- ํ ,๋ก์งํ์ผ: camel
- ์์๋ณ์: ๋๋ฌธ์
- discord
- notion
project-root/
โ
โโโ public/ # ์ ์ ํ์ผ๋ค
โ โโโ index.html
โ โโโ manifest.json
โ
โโโ src/ # ์์ค ์ฝ๋
โ โโโ Components/ # ์ฌ์ฌ์ฉ ์ปดํฌ๋ํธ๋ค
โ โโโ Hooks/ # custom hooks
โ โโโ Api/ # api ํจ์๋ค
โ โโโ Assets/ # images, icons
โ โโโ Atom/ # Recoil Atoms
โ โโโ Pages/ # ํ์ด์ง๋ณ ์ปดํฌ๋ํธ
โ โโโ Router/ # ๋ผ์ฐํ
โ โโโ Types/ # TypeScript ํ์
โ โโโ Utils/ # ๊ณตํต ํจ์
โ โโโ App.tsx # App ์ปดํฌ๋ํธ
โ โโโ index.tsx # ์ง์
์ ํ์ผ
โ โโโ GlobalStyle.ts # ์ ์ญ ์คํ์ผ ์ค์ ํ์ผ
โ
โโโ .env
โโโ .gitignore
โโโ .prettierrc.js
โโโ .eslintrc
โโโ package.json
โโโ tsconfig.json
โโโ README.md