๋ฐฐํฌ ์ฃผ์์ ๋ฐฉ๋ฌธํ์ธ์!
์นด์นด์ค ํฌ๋จํด๋ฆฐ IDE์ ํตํด ๋ฐฐํฌํ์์ต๋๋ค.(8์ 18์ผ๊น์ง ์ ์ง)
-> ๋ก์ปฌ ํ๊ฒฝ์์ ์คํ์ ์ํ๋ ๊ฒฝ์ฐ feat-SeoWanSeok ๋ธ๋์น์ ๋ฐฉ๋ฌธํ์ธ์.
๋ฐฐํฌ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฌ๋จํด๋ฆฐ IDE์ ๋ ํฌ์งํ ๋ฆฌ์ main ๋ธ๋์น๋ฅผ ๋ถ๋ฌ์ต๋๋ค.
- D2Hub์ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํฉ๋๋ค.
- Kargo App์ ์์ฑ ํ ๋ฐฐํฌ๋ฅผ ์งํํฉ๋๋ค.
๊ฐ๋ฐ ๊ธฐ๊ฐ : 2023๋ 6์ 26์ผ ~ 8์ 3์ผ
๐ FE ์ฐ์์์ผ๋ก ์ ์ ๋์์ต๋๋ค.
์นด์นด์ค ํ ํฌ ์บ ํผ์ค(์ดํ ์นดํ ์บ ) 2๋จ๊ณ FE ๊ณผ์ ์ํ ํ๋ก์ ํธ์ ๋๋ค.
ํ๋ก์ ํธ๋ ์นดํ ์บ ๋ ํฌ์งํ ๋ฆฌ์ PR์ ๋ณด๋ด๊ณ , ํ์ ์์๊ฒ ๋ฉํ ๋ง๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ผ๋ฉฐ ์งํํ์ต๋๋ค.
๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ ์ฌ์ค์์ ์ฒซ ํ๋ก์ ํธ์ด๋ฉฐ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๊ณ , ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณด๋ ์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
+ ์ํ ๋ฏน ํจํด์ ํด๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ ์ด์
โ๏ธ react-hook-form
ํ์๊ฐ์
, ๋ก๊ทธ์ธ์ ์ํด react-hook-form์ ์ฌ์ฉํ์ต๋๋ค.
react-hook-form์ ๋น์ ์ด ์ปดํฌ๋ํธ์ ์ฅ์ ์ ์ด๋ฆฌ๋ฉด์ ์ ์ด ์ปดํฌ๋ํธ์ฒ๋ผ ์ค์๊ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
โ๏ธ redux
๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์ญ์ ์ผ๋ก ํ์
ํ๊ธฐ ์ํด redux tool kit์ ์ฌ์ฉํ์ต๋๋ค.
๋ก์ปฌ์คํ ๋ฆฌ์ง์ ๋ก๊ทธ์ธ ์ ๋ฌด๋ฅผ token์ผ๋ก ์ ์ฅํฉ๋๋ค.
โ๏ธ axios, react-query
ํต์ ์ ์ํด axios, react-query๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
axios๋ fetch์ ๋น๊ตํ์ฌ timeout, ์ธํฐ์
ํฐ, JSON ๋ฐ์ดํฐ๋ฅผ ๋ฐํ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
react-query๋ ๋ฐ์ดํฐํ์นญ์ ํธํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
โ๏ธ styled-components, ant design, react spinners
์ ์ฒด์ ์ธ css ์์
์ ์ํด styled-components๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
3์ฃผ์ฐจ, 4์ฃผ์ฐจ ๊ณผ์ ์์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณด๋ผ๋ ์๊ตฌ๊ฐ ์์ด ant design๊ณผ react spinners๋ฅผ ์ฌ์ฉํด๋ณด์์ต๋๋ค.
โ๏ธ puppeteer
๊ฒฐ์ ํ๋ก์ธ์ค(๋ก๊ทธ์ธ -> ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ -> ๊ฒฐ์ -> ๋ก๊ทธ์์)๋ฅผ ํ
์คํ
ํ๊ธฐ ์ํด puppeteer์ ์ฌ์ฉํ์ต๋๋ค.
ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ recorder๋ฅผ ์ฌ์ฉํ๋ฉด ํ
์คํธ ์ฝ๋๋ฅผ ์ง์ ์์ฑํ์ง ์์๋ ๋๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
- ํ์๊ฐ์
- ๋ก๊ทธ์ธ
- ๋ก๊ทธ์์
- ์ ์ฒด ์ํ ๋ชฉ๋ก ์กฐํ
- ๊ฐ๋ณ ์ํ ์์ธ ์กฐํ
- ์ํ ์ต์ ์ ํ
- ์ต์ ํ์ธ ๋ฐ ์๋ ์ ํ
- ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ
- ์ฅ๋ฐ๊ตฌ๋ ์ํ ๋ชฉ๋ก ์กฐํ
- ์ฅ๋ฐ๊ตฌ๋ ์ํ ์ต์ ํ์ธ ๋ฐ ์๋ ์ ํ
- ์ฅ๋ฐ๊ตฌ๋ ์ํ ์ฃผ๋ฌธ
- ์ฃผ๋ฌธ ์ํ ๊ฒฐ์
- ์ฃผ๋ฌธ ๊ฒฐ๊ณผ ํ์ธ
- ์นด์นด์ค ์ผํํ๊ธฐ ํด๋ก ์ฝ๋ฉ
๋งจ๋ ์ ํค๋ฉํ๊ธฐ์๋ ๋์ ํ๋ก์ ํธ.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊นจ๋ฌ์ ์ ๊ณผ ์์ผ๋ก์ ๋ค์ง(๋ฐฉํฅ?)์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.
1๏ธโฃ ์ค๊ณ์ ์ค์์ฑ
์ฝ๋ฉ์ ์์ํ๊ธฐ ์ ์, ํ๋ก์ ํธ๊ฐ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง์ง ๋ฏธ๋ฆฌ ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
๋ผ์ฐํฐ๋ฅผ ๋ค๋ฃจ๊ฑฐ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ํฐ ํ์ ์๊ฐํด๋ณด์ง ์์๊ธฐ ๋๋ฌธ์ ํ์ํ ๋๋ง๋ค ๊ฐ๋ค๋ถ์ด๋ ์์ ์ด๊ธ๋ฆฌํ ์ฝ๋๋ฅผ ์์ฑํ ๋ฏ..
๋ผ์ฐํฐ์ ์์๋ก, ๋ค์๋ถํฐ๋ auth ์ฒ๋ฆฌ์ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ๋ด๋นํ๋ ์ปดํฌ๋ํธ๋ฅผ ํ๋ ๋ง๋ค์ด์ ๋ํ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ค.
2๏ธโฃ ์ปดํฌ๋ํธ์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ
์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ํ๋ฉด์ ์ด๋ป๊ฒ ๋ฐฐ์น๋ ์ง ๋๋ฌด ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑํ๋ฉด ์ฌ์ฌ์ฉ์ฑ์ด ๋จ์ด์ง๋ค.
์ถ๊ฐ์ ์ธ ์คํ์ผ์ด ํ์ํ ๊ฒฝ์ฐ ์ค๋ฒ๋ผ์ด๋ฉ๋ ์ ์๊ฒ ๋ง๋ค์.
์ ๋ ๋ฐ๋์ง ์์ ๋ถ๋ถ๊ณผ ๊ทธ๋ ์ง ์์ ๋ถ๋ถ์ ๋ช ํํ๊ฒ ๊ตฌ๋ถํ์ฌ ํฉ์ฑ ์ปดํฌ๋ํธ์ ์ต์ํด์ง์.
3๏ธโฃ ํด๋ ๊ตฌ์กฐ
์ ์ ์ฝ๋๊ฐ ์์ผ์๋ก ์ํ ๋ฏน ํจํด์ ๋ํด ๋ถํธํจ์ ๋๊ผ๋ค.
-> atoms, molecules ๋ฑ ๋จ๊ณ๋ฅผ ๋๋ ๋๋ง๋ค ์ ๋งคํ์ฌ ํ๋จ์ ์ด๋ ค์์ด ์์๋ค.
-> ์ปดํฌ๋ํธ๊ฐ ๋ง์์ง์๋ก ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ด๋ฆ์ด ๊ธธ์ด์ง๊ณ , ์ฌ์ฉํ ์ปดํฌ๋ํธ๋ฅผ ์ฐพ๋ ๋ฐ ์ด๋ ค์์ด ์์๋ค.
๋ฌผ๋ก ์ฌ์ฉํ๋ฉด์ ๋๋ผ๋ ์ฅ์ ๋ ์์๊ธฐ์, ์ ํ์ ์ผ๋ก ์์ฉํ์ฌ ํด๋ ๊ตฌ์กฐ์ ๋ํ ์ฃผ๊ด์ ๊ฐ์ง๋ ค๊ณ ํ๋ค.
๋ค์ ํ๋ก์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด๋ณผ๊น ์๊ฐํ๋ค. ๊ณ์ ๊ณ ์ณ๋๊ฐ ๋ฏ!
my-app
โโโ node_modules
โโโ public
โ โโโ index.html
โ โโโ favicon.ico
โ โโโ manifest.json
โโโ src
โ โโโ api
โ โ โโโ index.js
โ โ โโโ ... (๋ค๋ฅธ API ๊ด๋ จ ํ์ผ๋ค)
โ โโโ components
โ โ โโโ CommonComponent1
โ โ โโโ CommonComponent2
โ โ โโโ ... (๋ค๋ฅธ ๊ณตํต ์ปดํฌ๋ํธ๋ค)
โ โโโ lib
โ โ โโโ index.js
โ โ โโโ ... (๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ จ ํ์ผ๋ค)
โ โโโ pages
โ โ โโโ Page1
โ โ โ โโโ components
โ โ โ โ โโโ Page1Component1
โ โ โ โ โโโ Page1Component2
โ โ โ โ โโโ ... (๋ค๋ฅธ ํ์ด์ง 1์ ์ปดํฌ๋ํธ๋ค)
โ โ โ โโโ Page1.js (or Page1.jsx)
โ โ โโโ Page2
โ โ โ โโโ components
โ โ โ โ โโโ Page2Component1
โ โ โ โ โโโ Page2Component2
โ โ โ โ โโโ ... (๋ค๋ฅธ ํ์ด์ง 2์ ์ปดํฌ๋ํธ๋ค)
โ โ โ โโโ Page2.js (or Page2.jsx)
โ โ โโโ ... (๋ค๋ฅธ ํ์ด์ง๋ค)
โ โโโ utils
โ โ โโโ index.js
โ โ โโโ ... (๋ค๋ฅธ ์ ํธ๋ฆฌํฐ ํจ์๋ค)
โ โโโ App.js
โ โโโ index.js
โ โโโ ...
โโโ package.json
โโโ package-lock.json
โโโ ...
4๏ธโฃ ์ต์ ํ ๊ด๋ จ ๊ณ ๋ฏผ
๋ฆฌ์กํธ์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํ ์ํ๋ก ์ฝ๋ฉ์ ์์ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํ์ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋ค.
๋ค์๋ถํฐ๋ Suspense์ lazy๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ์คํ๋ฆฌํ ์ ์๋ํ ์ ์๊ฒ ๋ค.
5๏ธโฃ ์ ์ํ ์น ๋์์ธ
ํ์ฌ ํ๋ก์ ํธ๋ ๊ฐ๋ก ํ๋ฉด์ ์ปดํจํฐ์์๋ง ๋์ ์๋๋๋ก ๋ณด์ผ ๊ฒ ๊ฐ๋ค.
์์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ๋๋ฐ์ด์ค์ ๋ฐ๋ผ ์ ์ํ ์น์ผ๋ก ๋ง๋ค์ด๋ณด์.
6๏ธโฃ form ์ ํจ์ฑ ๊ฒ์ฌ
form์ ์ ํจ์ฑ ๊ฒ์ฌ์ UI ๊ด๋ จํ์ฌ ์ ์ ํ ๊ฐ์ด๋ ๋ฉ์์ง, ์ ํจ์ฑ ๊ฒ์ฌ ์๊ธฐ(ex. blur) ๋ฑ ๊ต์ฅํ ๋ง์ ์ ํ์ง๊ฐ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
์ฌ์ฉ์์๊ฒ ์ต์ ์ UX๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง์ ๊ณ ๋ฏผ์ด ํ์ํ ๋ฏํ๋ค.
7๏ธโฃ ์๋ฌ ์บ์นญ
์๋ฌ ์ํฉ์ ํ์ ํ๊ณ ์ฌ์ฉ์์๊ฒ ๊ทธ์ ๋ฐ๋ฅธ ๊ฐ์ด๋๋ฅผ ์ ์ํด์ผ ํ๋ค.
์๋ฌ ์บ์นญ์ด ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ๊ฐ์ฅ ํฌ๊ฒ ์ง๊ฒฐ๋๋ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค์๋ค.
์ง๊ธ์ alert๋ก ์๋ฌ๋ฅผ ์๋ดํ์ง๋ง, toast๋ modal์ ์ฌ์ฉํ๋ ๊ฒ์ด UI/UX ์ ์ด์ ์ด ํฌ๊ฒ ์์ฉํ ๊ฒ ๊ฐ๋ค.
Step-2.-Week-1
1. ์ผํ๋ชฐ ์น์ฌ์ดํธ ํ์์ ํตํ ํ์ด์ง ๊ตฌ์ฑ
2. UI ์ปดํฌ๋ํธ์ ๋ช
์นญ๊ณผ ์ฌ์ฉ๋ฒ ์ตํ๊ธฐ
โ ๊ณผ์ 1.
์ผํ๋ชฐ ์น์ฌ์ดํธ๋ฅผ ํ์ํด ์ด๋ ํ ํ์ด์ง ๊ตฌ์ฑ์ ๊ฐ์ง๊ณ ์๋์ง ์ฒดํฌํฉ๋๋ค.
๋๋ถ๋ถ์ ์ผํ๋ชฐ์ ๋ค์์ ํ์ด์ง ๊ตฌ์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ๋ฉ์ธ ํ์ด์ง
- ์ํ ๊ฒ์ ๊ฒฐ๊ณผ ํ์ด์ง
- ๊ฐ๋ณ ์ํ ์์ธ ํ์ด์ง
- ์ฃผ๋ฌธ ๋ชฉ๋ก ํ์ด์ง
- ๊ฒฐ์ ํ์ด์ง
- ๊ฒฐ์ ์๋ฃ ํ์ด์ง
- ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง
- ...
์ด์ ๊ฐ์ด ์์ ์๋น์ค๊ฐ ๋์ํ๋๋ฐ ํ์์ ์ธ ํ์ด์ง๊ฐ ๋ฌด์์ด ์๊ณ , ํด๋น ํ์ด์ง์์ ์ด๋ ํ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ด์ผ ํ๋์ง ์์ฑํ์ธ์.
๊ทธ๋ฆฌ๊ณ ์ด๋ ํ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ ์ง ์์ฑํด์ฃผ์ธ์. (README.md ํ์ผ์ ์์ฑ)
/my-app
โโโ /node_modules : ํ๋ก์ ํธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋ ํด๋
โโโ /public : index.html๋ฅผ ํฌํจํ ์ค์ ์๋ฒ์ ๋ฐฐํฌ๋๋ ํด๋
โโโ /src : ๋ฆฌ์กํธ๋ก ์์ฑ๋๋ ํ์ผ๋ค์ ๋ด์ ํด๋
โโโ .gitignore : ๊น์ผ๋ก ์ถ์ ํ์ง ์์ ํ์ผ์ด๋ ํด๋๋ฅผ ์
๋ ฅํ ์ ์๋ ํ์ผ
โโโ package.json : ํ๋ก์ ํธ์ ์ด๋ฆ, ๋ฒ์ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ชฉ๋ก ๋ฑ์ด ํฌํจ๋ ํ์ผ
โโโ README.md : ํ๋ก์ ํธ์ ์ค๋ช
์ ์์ฑํ ์ ์๋ ํ์ผ
/src
โโโ /assets : ์ด๋ฏธ์ง๋ ํฐํธ๋ฅผ ์ ์ฅํ๋ ํด๋
โโโ /apis : API ๊ด๋ จ ๊ฐ๋ค์ ์ ์ฅํ๋ ํด๋
โโโ /components : ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ฅผ ๋ชจ์๋๋ ํด๋
โโโ ...
โโโ App.js : ๋ฆฌ์กํธ์ ๋ฃจํธ ์์
โโโ index.js : ์ฝ๋ ์ง์
๊ตฌ๊ธ๋ง์ ํตํด ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ์ ๊ดํ ๋ง์ ์ด์ผ๊ธฐ๋ค์ ์ฐพ์ ์ ์์๋๋ฐ..
์ ํํ๊ฒ ์ดํดํ ๊ฒ๋ง ์ ๋ฆฌํ๋ค.
์์ผ๋ก ๊ณต๋ถํ๋ฉด์ ๋ ๋ง์ ๊ฒ๋ค์ ์ดํดํ๋๋ก ํ์!
โ ๊ณผ์ 2.
ํ๋ก ํธ ๊ฐ๋ฐ์๊ฐ ๋ค๋ฅธ ํ๋ก ํธ ๊ฐ๋ฐ์์ ์ํต ๋ฐ UI ๋์์ด๋์ ์ํตํ๋๋ฐ ํ์์ ์ธ UI ์ปดํฌ๋ํธ์ ๋ช
์นญ๊ณผ ์ฌ์ฉ๋ฒ์ ์ตํ๋๋ค.
์์
์๊ฐ์ ๋ฐฐ์ด ์ปดํฌ๋ํธ์ ๋ช
์นญ๊ณผ ์ฌ์ฉ๋ฒ ์ด์ธ์ ๋ํ์ ์ธ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ์ด์ง๋ฅผ ์กฐ์ฌํด๋ณด๋ฉด ์๋ง์ ์ปดํฌ๋ํธ๊ฐ ์ด๋ค์์ผ๋ก ๋์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ , ํ ์คํธ, ๋ธ๋๋ํฌ๋ผ, ์บ๋ฌ์
, ๋ผ๋์ค๋ฒํผ, ํ ๊ธ๋ฒํผ, ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ์์ ๋ง์ ๋ฐฉ์์ผ๋ก ์คํ์ผ๋งํ๊ณ ์ํ ๊ด๋ฆฌ๋ฅผ ์ ์ฉํด ์ฝ๋๋ฅผ ์์ฑํ์ธ์.
์์ฑ๋ ์ฝ๋๋ ๋ ํผ์งํ ๋ฆฌ์ ์
๋ก๋ํ์ฌ ๋ฉํ ๋์๊ฒ ์ ๋ฌํด์ฃผ์ธ์.
โ ๊ณผ์ 3.
๊ฐ ์ปดํฌ๋ํธ๋ฅผ ์ํํด ๋ณผ ์ ์๋ ํ์ด์ง๋ฅผ ๋ง๋์ธ์.
ํ๋์ ํ์ด์ง์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฌ๋ ์ข๊ณ , ๊ฐ ํ์ด์ง๋ณ๋ก ๋ถ๋ฆฌํด๋ ๊ด์ฐฎ์ต๋๋ค.
npx create-react-app my-app
& styled-components ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ์ง์ ๋ค ๊ตฌํํ๋ ๊ฒ ๊ต์ฅํ ์ด๋ ค์ด ์ผ์ด๊ตฌ๋..
- ํ ์คํธ
Q1. ์ค์ ๋ก ํ ์คํธ ๋ฉ์์ง๋ฅผ ๋์ธ ๋๋ Portal์ ๊ฐ๋
์ ์ฌ์ฉํ ๊ฒ ๊ฐ์๋ฐ ๋ง๋์?
- ๋ธ๋๋ํฌ๋ผ
Q2. Breadcrumb ์์ ๋ง์ง๋ง BreadcrumbItem ์์์ ์ง์ ํด๋์ค๋ฅผ ์ฃผ์ด ์์ ์
ํ๋ ๋ฐฉ๋ฒ ์ด์ธ์,
์๋์ผ๋ก ๋ง์ง๋ง ์์๋ฅผ ํ์
ํ๊ณ ๊ทธ ์์์ ์์ ์
ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ๋์ง ๊ถ๊ธํฉ๋๋ค.
- ์บ๋ฌ์
Q3. ์ ์บ๋ฌ์
์ ์ฒซ ์ฌ๋ผ์ด๋์ ๋ง์ง๋ง ์ฌ๋ผ์ด๋์ ์ด๋์ด ๋ถ์์ฐ์ค๋ฝ์ต๋๋ค.
์ํ๋ ์์ฐ์ค๋ฌ์ด ์ด๋์ ๋ง์ง๋ง ์ฌ๋ผ์ด๋์์ ๋ค์ ํ๋ฉด์ผ๋ก ๋๊ธธ ์ ํ๋ฉด์ด ์ค๋ฅธ์ชฝ์ผ๋ก ๋์ด๊ฐ ์ฒซ ์ฌ๋ผ์ด๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ธ๋ฐ,
์ด ๋ฐฉ๋ฒ์ด ๊ถ๊ธํฉ๋๋ค.
- ๋ผ๋์ค๋ฒํผ
Q4. ์ ๋ผ๋์ค๋ฒํผ์ ์ฌ์ฌ์ฉ์ฑ์ด ๋ฎ์ ๊ฒ์ผ๋ก ์๊ฐ๋๋๋ฐ, ์ด๋ค ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋๊ฒ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์๋์?
- ์ฒดํฌ๋ฆฌ์คํธ
Q5. Context API๋ฅผ ์ฌ์ฉํ์ฌ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค.
๊ทธ๋ฌ๋, ์ ์๊ฐ๋ง์ผ๋ก๋ ๊ตฌํ์ด ์ด๋ ค์ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๋๋ฅผ ๋ถ์ํ๋ ์์ผ๋ก ์ฝ๋ฉํ์ต๋๋ค.
์์ผ๋ก์ ๊ณผ์ ์์ ์ด๋ฐ ๋ฐฉ๋ฒ์ ์ง์ํด์ผ ํ ๊น์?
1. README.md ํ์ผ์ ๋๋ฃ ๊ฐ๋ฐ์์๊ฒ ํ๋ก์ ํธ์ ์ฝ๊ฒ ๋๋ฉํ๋๋ก ๋๋ ์ค์ํ ์ํต ์๋จ์
๋๋ค.
ํด๋น ํ๋ก์ ํธ์ ๋ํด ์๋ฌด๋ฐ ์ง์์ด ์๋ ๋๋ฃ๋ค์๊ฒ ์ค๋ช
ํ๋ ๊ฒ์ฒ๋ผ ์ฝ๊ณ , ๊ฐ๊ฒฐํ๊ฒ ์์ฑํด์ฃผ์ธ์.
2. ์ข์ ๊ฐ๋ฐ์๋ ๋์์ด๋, ๊ธฐํ์, ๋ง์ผํฐ ๋ฑ ์ฌ๋ฌ ํฌ์ง์
์ ์๋ ๋ถ๋ค๊ณผ ์ํต์ ์ํฉ๋๋ค.
UI ์ปดํฌ๋ํธ์ ๋ช
์นญ๊ณผ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฅ๋ ฅ์ ํ์์ ์ธ ์ปค๋ฎค๋์ผ์ด์
์คํฌ์ด์ ํ์์ฌํญ์ด๋ ์ด๋ค ์ํฉ์์ ํด๋น ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์์ง ๊ณ ๋ฏผํ๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์ธ์.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_1์ฃผ์ฐจ ๊ณผ์
Step-2.-Week-2
1. ์ฝ๋ ๋์์ธ ํจํด๊ณผ ์ํ ๊ด๋ฆฌ
โ ๊ณผ์ 1. ์ํ ๋ฏน ์ปดํฌ๋ํธ ๋์์ธ ํจํด ์ฌ์ฉ
- ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์ด์ง ๊ฐ๋ฐ์ ํ์ํ ์ปดํฌ๋ํธ๋ฅผ ์ํ ๋ฏน ๋์์ธ ํจํด์ ์ฌ์ฉํด ์์ฑํ์ธ์.
- ์์ฑํ ์ปดํฌ๋ํธ๋ ์ฌ์ฉ์ ํธ์์ฑ์ ์ํด Props์ ์ ์ ํ ์ฃผ์์ ๋ฌ์์ฃผ์ธ์.
โ ๊ณผ์ 2. ํ์ ๊ฐ์ , ๋ก๊ทธ์ธ ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ๊ฐ ํ์ด์ง์๋ ์ ํฉํ ๊ฐ์ด ์
๋ ฅ๋๋๋ก ํ๊ณ , ์ ์ ํ์ง ์์ ๊ฐ์ด ๋ค์ด์จ ๊ฒฝ์ฐ API ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ ์ ํ๋ก ํธ์์ ์๋ฌ ์บ์นญ์ ํด์ฃผ์ธ์.
- ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์๋ ๋ฉ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธํ์ธ์.
- API ์๋ต ๊ณผ์ ์์ ๋ก๊ทธ์ธ์ด ์คํจํ๋ ๊ฒฝ์ฐ, ํ์๊ฐ์
์ด ์คํจํ ๊ฒฝ์ฐ์ ๋ํด์ ์๋ฌ ์บ์นญ๋ ์ ์ฉํด์ผ ํฉ๋๋ค.
โ ๊ณผ์ 3. ์ํ๊ด๋ฆฌ ๋ชจ๋ ์ ์ฉ
- ๋ก๊ทธ์ธ ํ์ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ํ๊ด๋ฆฌ ๋ชจ๋์ ํ๋ ์ ์ ํด ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ์ธ์.
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ์ํ์ผ ๋๋ GNB ์์ญ์ ๋ก๊ทธ์ธ ๋ฒํผ์ด ๋ณด์ด๋ฉด ์๋ฉ๋๋ค.
- ๋ก๊ทธ์์์ ์ํ๋ฅผ ์ด๊ธฐํํ์ธ์.
- ์๋ก๊ณ ์นจ ์์๋ ์ํ๋ฅผ ์์ง ์๊ณ ์ ์งํด์ผ ํฉ๋๋ค.
- ์ผ์ ํ ์๊ฐ์ด ์ง๋๋ฉด ๋ก๊ทธ์ธ ์ ์ง๊ฐ ๋๋๋๋ก ์ค์ ํ์ธ์.(์: 1์ผ)
1. ์ํ ๋ฏน ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ ๋ Atoms, Molecules์ ๋ฐ๋์ ํน์ ํ ์ปดํฌ๋ํธ๊ฐ ๋ค์ด๊ฐ ํ์๋ ์์ต๋๋ค. ๊ฐ๋ฐ์์ ์ฃผ๊ด์ด ๋ค์ด๊ฐ ์ ์๋ ๋ถ๋ถ์ด๋ ์ ์ ํ ๋์ค๋ก ๋๋์ด๋ณด์ธ์.
2. API ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต ๋ฐ์ ๋ ์ฑ๊ณต ์ผ์ด์ค๋ง ์๊ฐํด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์จ์ ์๋ฌ ์ผ์ด์ค๋ ์์์ง ํ ๋ฒ ๋ ๊ณ ๋ฏผํด๋ณด์ธ์.
3. ์ํ ๊ด๋ฆฌ ๋ชจ๋์ ์์ ์ด ์จ๋ณด๊ณ ์ถ์ ์ด๋ค ๋ชจ๋์ด๋ ์๊ด ์์ต๋๋ค. ๋ชจ๋์ ์ฌ์ฉํด๋ณด๋ฉด์ ๋ชจ๋์ ๋ค์ด๊ฐ๋ ๋ฏธ๋ค์จ์ด๋ ํด๋ ์ฌ์ฉํด๋ณด์ธ์.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_2์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ
Step-2.-Week-2
1. ์ฝ๋ ๋์์ธ ํจํด๊ณผ ์ํ ๊ด๋ฆฌ
โ ๊ณผ์ 1. ์ํ ๋ฏน ์ปดํฌ๋ํธ ๋์์ธ ํจํด ์ฌ์ฉ
- ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์ด์ง ๊ฐ๋ฐ์ ํ์ํ ์ปดํฌ๋ํธ๋ฅผ ์ํ ๋ฏน ๋์์ธ ํจํด์ ์ฌ์ฉํด ์์ฑํ์ธ์.
- ์์ฑํ ์ปดํฌ๋ํธ๋ ์ฌ์ฉ์ ํธ์์ฑ์ ์ํด Props์ ์ ์ ํ ์ฃผ์์ ๋ฌ์์ฃผ์ธ์.
โ ๊ณผ์ 2. ํ์ ๊ฐ์ , ๋ก๊ทธ์ธ ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ๊ฐ ํ์ด์ง์๋ ์ ํฉํ ๊ฐ์ด ์
๋ ฅ๋๋๋ก ํ๊ณ , ์ ์ ํ์ง ์์ ๊ฐ์ด ๋ค์ด์จ ๊ฒฝ์ฐ API ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ ์ ํ๋ก ํธ์์ ์๋ฌ ์บ์นญ์ ํด์ฃผ์ธ์.
- ํ์๊ฐ์
, ๋ก๊ทธ์ธ ํ์๋ ๋ฉ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธํ์ธ์.
- API ์๋ต ๊ณผ์ ์์ ๋ก๊ทธ์ธ์ด ์คํจํ๋ ๊ฒฝ์ฐ, ํ์๊ฐ์
์ด ์คํจํ ๊ฒฝ์ฐ์ ๋ํด์ ์๋ฌ ์บ์นญ๋ ์ ์ฉํด์ผ ํฉ๋๋ค.
โ ๊ณผ์ 3. ์ํ๊ด๋ฆฌ ๋ชจ๋ ์ ์ฉ
- ๋ก๊ทธ์ธ ํ์ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ํ๊ด๋ฆฌ ๋ชจ๋์ ํ๋ ์ ์ ํด ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ์ธ์.
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ์ํ์ผ ๋๋ GNB ์์ญ์ ๋ก๊ทธ์ธ ๋ฒํผ์ด ๋ณด์ด๋ฉด ์๋ฉ๋๋ค.
- ๋ก๊ทธ์์์ ์ํ๋ฅผ ์ด๊ธฐํํ์ธ์.
- ์๋ก๊ณ ์นจ ์์๋ ์ํ๋ฅผ ์์ง ์๊ณ ์ ์งํด์ผ ํฉ๋๋ค.
- ์ผ์ ํ ์๊ฐ์ด ์ง๋๋ฉด ๋ก๊ทธ์ธ ์ ์ง๊ฐ ๋๋๋๋ก ์ค์ ํ์ธ์.(์: 1์ผ)
1. ์ํ ๋ฏน ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ ๋ Atoms, Molecules์ ๋ฐ๋์ ํน์ ํ ์ปดํฌ๋ํธ๊ฐ ๋ค์ด๊ฐ ํ์๋ ์์ต๋๋ค. ๊ฐ๋ฐ์์ ์ฃผ๊ด์ด ๋ค์ด๊ฐ ์ ์๋ ๋ถ๋ถ์ด๋ ์ ์ ํ ๋์ค๋ก ๋๋์ด๋ณด์ธ์.
2. API ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต ๋ฐ์ ๋ ์ฑ๊ณต ์ผ์ด์ค๋ง ์๊ฐํด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์จ์ ์๋ฌ ์ผ์ด์ค๋ ์์์ง ํ ๋ฒ ๋ ๊ณ ๋ฏผํด๋ณด์ธ์.
3. ์ํ ๊ด๋ฆฌ ๋ชจ๋์ ์์ ์ด ์จ๋ณด๊ณ ์ถ์ ์ด๋ค ๋ชจ๋์ด๋ ์๊ด ์์ต๋๋ค. ๋ชจ๋์ ์ฌ์ฉํด๋ณด๋ฉด์ ๋ชจ๋์ ๋ค์ด๊ฐ๋ ๋ฏธ๋ค์จ์ด๋ ํด๋ ์ฌ์ฉํด๋ณด์ธ์.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_2์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ
Step-2.-Week-3
1. ๋น๋๊ธฐ ํต์ ํ์ฉ๊ณผ ๋ ์ด์์
โ ๊ณผ์ 1. ์ํ ๋ชฉ๋ก ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ํ ๋ชฉ๋ก ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ํ์ด์ง๋ค์ด์
์ ์ด์ฉํด ํ์ด์ง ๊ฐ์ ์ฆ๊ฐ์์ผ๊ฐ๋ฉฐ ์กฐํ๋ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ๋ฐ์ดํฐ ๋ก๋ฉ ๊ณผ์ ์ ๋ก๋๋ฅผ ๊ตฌํํ์ธ์.
- ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ๋ฅผ ํ ๋ react-query๋ฅผ ์ฌ์ฉํด๋ณด์ธ์.
โ ๊ณผ์ 2. ์ค์ผ๋ ํค๊ณผ ๋ก๋
- ์ปดํฌ๋ํธ์ props๋ฅผ ์ ๋ฌํด ๋ฐ์ดํฐ ๋ก๋ฉ ์ค ์ค์ผ๋ ํค ๋๋ ๋ก๋๊ฐ ์ ์ฉ๋ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํด๋ณด์ธ์.
- ์ํ ๋ชฉ๋ก ์นด๋์ ์ค์ผ๋ ํค์ ์ ์ฉํ์ธ์.
- ํ์ด์ง ์ ์ฒด์ ๋ํ ๋ก๋ฉ์ด ์งํ๋ ๋๋ ๊ธ๋ก๋ฒ ๋ก๋๋ฅผ ์ ์ฉํด๋ณด์ธ์.(์ ์ ํ ๋ชจ๋์ ์ฐพ์ ์ ์ฉํด๋ ์ข์ต๋๋ค.)
โ ๊ณผ์ 3. ๋ฐฑ์๋ ์ํ ์ฝ๋ ๋ฐ์
- API ์๋ต์ ๋ํด ์ ์ฒ๋ฆฌ ํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์ธ์.
- 200, 300, 400, 500๋ฒ ๋์ ์ํ ์ฝ๋๋ณ ์๋ฌ ์บ์นญ์ด ํ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด ํด๋น ํจ์์์ ๋จผ์ ์คํ๋๋๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
- react-query์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ์๋ค๋ฉด ํด๋น ๋ฐฉ์์ ์ ์ฉํ๊ฑฐ๋ ๋๋ ๋ณ๋์ ํจ์๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌ๋ฅผ ์๋ํด๋ณด๋ฉด ๋ฉ๋๋ค.
1. ์ค์ผ๋ ํค๊ณผ ๋ก๋๋ฅผ ๋ฐํ
๋ถํฐ ๋ง๋ค๊ธฐ๋ณด๋จ Codepen ๋ฑ์ ์ฐธ๊ณ ํด ๊ตฌํํ๊ณ , Props๋ฅผ ํตํ ์ค์ ์ ์ฉ์ ์ง์คํด์ฃผ์ธ์.
2. ๊ณผ์ 3๋ฒ์ ํด๊ฒฐํ ๋ Facade pattern์ ์ฐธ๊ณ ํด๋ณด์ธ์.
3. ๊ณผ์ 1๋ฒ์ ํด๊ฒฐํ ๋ react-query๋ฅผ ์ฌ์ฉํด๋ณด๋ ์ ์ฒด ํ๋ก์ ํธ์ react-query๋ฅผ ์ ์ฉํ ํ์๋ ์์ต๋๋ค. ํ๋ ์ด์์ API ์์ฒญ์ ์ ์ฉํด๋ณด์ธ์.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_3์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ
Step-2.-Week-4
์์ธ ํ์ด์ง ๊ฐ๋ฐ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
โ ๊ณผ์ 1. ์ํ ์์ธ ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ํ ์์ธ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ํ ๊ฐ์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ํด ์ฌ์ฉํด๋ณด์ธ์.
- ์ ์ ํ์ง ์์ ์ํ ID ๊ฐ์ด ๋ค์ด์ค๊ฑฐ๋ ์ฐพ์ ์ ์๋ ์ํ์ผ ๋ 404 ํ์ด์ง ๋๋ "์ํ์ ์ฐพ์ ์ ์์ต๋๋ค."๋ผ๋ ๋ฉ์์ง๊ฐ ์๋ ํ์ด์ง๋ก ์ด๋๋ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ์ธ์.
- ๋ฐ์ดํฐ ๋ก๋ฉ์ด ์๋ฃ๋ ๋๊น์ง ๋ก๋๋ฅผ ์ ์ฉํ์ธ์.
- '์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ' ๋ฒํผ๊ณผ '๊ตฌ๋งค' ๋ฒํผ์ ๋๋์ด ๋ฐฐ์นํ์ธ์.
โ ๊ณผ์ 2. ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ๋ด์๋ ์ํ์ ๋ํด ์กฐํ, ์๋ ๋ณ๊ฒฝ, ํญ๋ชฉ ์ญ์ ๊ฐ ๊ตฌํ๋์ด์ผ ํฉ๋๋ค.
- '๊ฒฐ์ ํ๊ธฐ' ๋ฒํผ์ ๋ง๋ค๊ณ , ํด๋ฆญ์ ๊ฒฐ์ ํ์ด์ง๋ก ์ด๋๋ ์ ์๋๋ก ๊ฐ๋ฐํ์ธ์.
- ๋ค๋ฅธ ๋ชจ๋ ํ์ด์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๋๊ธฐ ๋ฐ์ดํฐ ์์ฒญ์ด ๋ฐ์ํ๋ ๋ก๋ ๋๋ ์ค์ผ๋ ํค์ ํตํด ์ฅ๋ฐ๊ตฌ๋ ๋ชฉ๋ก์ ๋ถ๋ฌ์ฌ ๋ ๋ก๋ฉ ์ํ๋ฅผ ํ์ํ์ธ์.
1. UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ๋ชจ๋ ๊ตฌ์ฑ์์์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ท์น์ ์ ์ฉํ ํ์๋ ์์ต๋๋ค. UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ๋ฒ์ ์ตํ๊ณ , ํ๋ ์ด์์ ์ปดํฌ๋ํธ์ ์ ์ฉํด๋ด
๋๋ค.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_4์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ
Step-2.-Week-5
์ฃผ๋ฌธ ๊ฒฐ์ ๊ฐ๋ฐ
โ ๊ณผ์ 1. ์ฃผ๋ฌธ ๊ฒฐ์ ํ์ด์ง ๊ฐ๋ฐ
- ๋ฐฑ์๋ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฃผ๋ฌธ ๊ฒฐ์ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ๊ฒฐ์ ํ์ด์ง์์๋ ๊ฒฐ์ ์ ๊ฒฐ์ ์์ธ ์ ๋ณด์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ , ๊ฒฐ์ ๋ฅผ ํ์ ํ๋ ๊ธฐ๋ฅ 2๊ฐ์ง์ ์ค์ ์ ๋ก๋๋ค.
โ ๊ณผ์ 2. ํ ์คํธ ๊ฒฐ์
- ํ ๊ฐ์ PG ์๋น์ค ๋๋ PG ์๋น์ค๋ฅผ ๋๋ ์๋ํํฐ ์ฑ์ ์ฌ์ฉํด ๊ฐ๋ฐํฉ๋๋ค.
- ํ
์คํธ ํ๊ฒฝ์์ ๊ฒฐ์ ๋ฅผ ์ฑ๊ณตํด์ผ ํฉ๋๋ค.
- ๊ฒฐ์ ๊ฐ ์คํจํ๋ ๊ฒฝ์ฐ(์๊ณ ๋ถ์กฑ, ๊ฒฐ์ ์ ๋ณด ๋ถ์ผ์น ๋ฑ)์ ๋ํด ์๋ฌ ์บ์นญ์ ์ ์ฉํ์ธ์.
- ๋ค์ํ ์๋ฌ ์ํฉ์ ๋ํด ์ฃผ์์ผ๋ก ์๋ฌ ์ํฉ๊ณผ ๋์ ๋ฐฉ์์ ์ค๋ช
ํด์ฃผ์ธ์.
1. ๊ฒฐ์ ๋ฅผ ๊ตฌํํ ๋ ์๋ก์ด ๋ชจ๋์ ํ์ตํ๋๋ฐ ์์ด์ ์๊ฐ๋ณด๋ค ์๊ฐ ์์๊ฐ ํด ๊ฒ์
๋๋ค. ๋ํ ๋ช๋ช์ PG์ฌ์์ ์ ๊ณตํ๋ SDK์ ๊ฒฝ์ฐ ๋ฆฌ์กํธ์ ํธํ์ฑ์ด ๋์ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
2. ํ
์คํธ ๊ฒฐ์ ์์ ์ค์ ๋น์ฉ์ด ๋๊ฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. PG์ฌ๋ง๋ค ์ ์ฑ
์ด ๋ค๋ฅด์ง๋ง ๋๋ถ๋ถ ํ
์คํธ ๊ธ์ก์ 1์ผ ์ด๋ด๋ก ํ๊ธ๋ฐ๋ ๊ตฌ์กฐ์
๋๋ค.
3. ๊ฒฐ์ ์์๋ ์๊ฐ๋ณด๋ค ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํ์ด๋ก๋์ ๋ด์ ์ ๋ฌํด์ผ ํฉ๋๋ค. ์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ ์ ํ์ง ์์ ๊ฐ์ด ๋ค์ด๊ฐ ๊ฐ๋ฅ์ฑ์ด ๋๊ณ , ์ฝ๋๊ฐ ๋ณต์กํด์ง ์ ์์ต๋๋ค. ๊ธฐ๋ฅ ๋จ์๋ฅผ ๋๋์ด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์๋ํด๋ณด๋๊ฒ ๋์์ด ๋ ์ ์์ต๋๋ค.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_5์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ
Step-2.-Week-6
ํ๋ก์ ํธ ๋ง๋ฌด๋ฆฌ
โ ๊ณผ์ 1. ๋ฐฐํฌ
- Netlify๋ฅผ ํตํด ๋ฐฐํฌ๋ฅผ ์งํํฉ๋๋ค.
- ๊ณ์ ์ ์์ฑํ๊ณ ์์ ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํด ๋ฐฐํฌํฉ๋๋ค.
- ๋ฐฐํฌ ๋ ๋ฒจ์์ ์ฌ์ฉ๋ ํ๊ฒฝ ๋ณ์๋ ์ธ์คํด์ค์ ์ ์ฉ๋๋๋ก ์ง์ ์ค์ ํด์ค๋๋ค.
- ๋ฐฐํฌ์ ์ฌ์ฉ๋ ๋ธ๋์น๋ ๊ฐ๋ฐ ๋ธ๋์น์ ๊ผญ ๋ถ๋ฆฌํฉ๋๋ค.
โ ๊ณผ์ 2. ํ๋ก์ ํธ ๋ง๋ฌด๋ฆฌ
- ๋ชจ๋ ํต์ฌ ๊ธฐ๋ฅ์ด ์ ์ ์๋๋๋๋ก ์จ์ ๋ฒ๊ทธ์ ๊ธฐ๋ฅ์ ์ ๊ฒํฉ๋๋ค.
- ํน์ ํ ํ์ผ์ด ๋๋ฌด ํฌ๋ค๋ฉด, ์ฝ๋ ๋ด์ ํจ์๋ฅผ ๋ค๋ฅธ ํ์ผ๋ก ์ฎ๊ฒจ import / export ํ๋ ๋ฑ ์ฝ๋ ๋ฆฌํํฐ๋ง์ ์งํํฉ๋๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๋ฐฐํฌ ํ๊ฒฝ ๋ชจ๋ ๋ฒ๊ทธ๊ฐ ์๋์ง ์ฒดํฌํฉ๋๋ค.
โ ๊ณผ์ 3. README.md ์ ๋ฆฌ
- ๋ฐฐํฌํ ํ๊ฒฝ์ ๋ํด ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์ ๋จ๊ฒจ์ฃผ์ธ์.
- ํฌํจ๋ ๋ด์ฉ์ ๋ฐฐํฌ ์์, ๋ฐฐํฌ์ ์ํฅ ๋ฐ๋ ๋ธ๋์น, ๋ฐฐํฌ์ ์ฃผ์ ์ฌํญ, ๋ฐฐํฌ ํ๊ฒฝ ๋ฑ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ํด๋น ํ๋ก์ ํธ๋ฅผ ์ธ์์ธ๊ณ ๋ฐ์์ ๋ ๋ฌธ์ ๊ฐ ์๋๋ก ๊ผผ๊ผผํ ์์ฑํฉ๋๋ค.
1. ๋ง์ ์๋น์ค๊ฐ ๊ฐ๋ฐ ๋ ๋ฒจ์์๋ ์ ์๋ํ๋ค๊ฐ๋ ๋ฐฐํฌ ๋จ๊ณ์์ ์๋ฌ๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐฐํฌ ํ์ ๊ธฐ๋ฅ์ ํ๋ํ๋ ์ ๊ฒํด๋ณด๊ณ , ์ฌ๋ฌ ํ๊ฒฝ์์ ์๋ํด๋ณด์ธ์.
2. ๋ฐฐํฌ๋ ํ๊ฒฝ์ ํ๋์ ๋ธ๋ผ์ฐ์ ์์๋ง ํ
์คํธํ์ง ๋ง๊ณ , ์ต๋ํ ๋ค์ํ ๋๋ฐ์ด์ค์ ๋ธ๋ผ์ฐ์ ์์ ํ
์คํธํด๋ณด์ธ์. ์ผ์ฑ ๋ธ๋ผ์ฐ์ , ์์ดํฐ ์ฌํ๋ฆฌ, ๋ฐ์คํฌํ์ด๋ผ๋ฉด ํฌ๋กฌ, ์ฌํ๋ฆฌ, ํ์ด์ดํญ์ค ๋ฑ์ผ๋ก ํ
์คํธํด๋ณด์ธ์.
3. ์ฝ๋๋ฅผ ์๊ฐ์ด ์ง๋์ ๋ณด๋ฉด ์ด๋ค ๋ชฉ์ ์ผ๋ก, ์ ๋ง๋ค์๋์ง ์์๋ณด๊ธฐ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ด๋ผ ์๊ฐํ ๋ถ๋ถ๋ ์ฃผ์์ ๋ฌ์์ฃผ์ธ์.
1. PR ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ฑ ํด์ฃผ์ธ์.
- PR ์ ๋ชฉ : ๋ถ์ฐ๋FE_๋ผ์ด์ธ_6์ฃผ์ฐจ ๊ณผ์
2. PR ๋ด์ฉ :
- ์ฝ๋ ์์ฑํ๋ฉด์ ์ด๋ ค์ ๋ ์
- ์ฝ๋ ๋ฆฌ๋ทฐ ์, ๋ฉํ ๋์ด ์ค์ ์ ์ผ๋ก ๋ฆฌ๋ทฐํด์คฌ์ผ๋ฉด ํ๋ ๋ถ๋ถ