- dayjs
- react
- react-dom
- react-scripts
- uuid
npm installnpm start๊ตฌํํด์ผ ํ Todo์ ํ์ ํํ๋ ์๋์ ๊ฐ์ต๋๋ค.
//todo interface
interface Todo {
id: string;
text: string;
completed: boolean;
createdAt: string;
}- todolist์ ์๋ก์ด todo๋ฅผ ์ถ๊ฐํ ์ ์์ด์ผ ํฉ๋๋ค.
- todo๋ฅผ ์ถ๊ฐํ ๋ ์ถ๊ฐํ ์์ ๋ ๊ฐ์ด ์ ์ฅํด์ ui์ ๋์์ผ ํฉ๋๋ค. (dayjs ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐธ๊ณ )
- todo๋ฅผ ์ถ๊ฐํ ๋ id๋ uuid๋ฅผ ์ฌ์ฉํด์ ๋์ id๋ฅผ ์ ์ฅํด์ผ ํฉ๋๋ค. (uuid ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐธ๊ณ )
- todoํญ๋ชฉ์ ํด๋ฆญํ๋ฉด ์๋ฃ์ํ๋ฅผ ๋ฐ๊ฟ ์ ์์ด์ผ ํฉ๋๋ค.
- filter๊ธฐ๋ฅ์ ์ ๊ณตํด์ ๋ชจ๋ todo, ์งํ์ค์ธ todo, ์๋ฃ๋ todo๋ฅผ ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค.
- localStorage์ ์ถ๊ฐ๋๊ฑฐ๋ ์์ ๋ todolist๋ฅผ ์ ์ฅํ์ฌ ์๋ก๊ณ ์นจํ๊ฑฐ๋ ์ฌ์ ์ ํด๋ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ก๋ list๋ฅผ ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค.
- input type color๋ฅผ ํ์ฉํด์ background์ ๋ฐฐ๊ฒฝ์ ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. (ํด๋น ๊ธฐ๋ฅ์ todo์ ์ฐ๊ด๋๊ฑด ์๋์ง๋ง ๋์ค์ ์งํํ๊ฒ ๋ ๋ ๋๋ง ์ต์ ํ๋ฅผ ์ํด ์ถ๊ฐํ์ต๋๋ค.)
- todo ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ.
- ๋ฐฐ๊ฒฝ color๋ฅผ ์์ ํ ๋ ํด๋น color๋ localStorage์ ์ ์ฅํด์ ์๋ก๊ณ ์นจํ ๋ ๋ณด์ฌ์ฃผ๊ธฐ.
- 2๋ฒ ์๊ตฌ์ฌํญ์ throttle ํน์ debounce ๊ธฐ๋ฅ์ ์ ์ฉํด์ color๋ฅผ ์์ ํ ๋๋ง๋ค localStorage์ ์ ์ฅํ๋ ๊ณผ์ ์ ์ต์ํํ๊ธฐ.
- ์ ํํ filter๋ localStorage์ ์ ์ฅํด์ ์๋ก๊ณ ์นจํ ๋ ํด๋น filter๋ก ๋ณด์ฌ์ฃผ๊ธฐ.
- master๋ฅผ ์์ ์ ์ ์ฅ์๋ก forkํฉ๋๋ค.
- forkํ ์ ์ฅ์๋ก ๊ฐ์ ํด๋น ์ ์ฅ์๋ฅผ url์ ๋ณต์ฌํ ํ ์์ ์ ํด๋์ cloneํฉ๋๋ค.
- ์์ฑ๋ ํด๋์์ ์์ ํ๋ก์ ํธ ์ธํ ์ ์ํํฉ๋๋ค.
- ๊ฐ๋ฐ์ด ์๋ฃ๋ ํ๋ก์ ํธ๋ฅผ forkํ ์์ ์ ์ ์ฅ์์ push ํฉ๋๋ค. (commit์ ํ๋ก์ ํธ๊ฐ ๋๋๊ณ ํ๋ฒ์ ํ๊ธฐ๋ณด๋ค๋ ๊ธฐ๋ฅ์ ์์ , ๊ตฌํํ ๋๋ง๋ค ์์ ๋จ์๋ก ์ชผ๊ฐ์ ์ง์์ ์ผ๋ก commit ํด์ฃผ์๊ธธ ๊ถ์ฅ ๋๋ฆฝ๋๋ค.)
- pushํ ์ ์ฅ์์์ pull request๋ฅผ ์ ์ ์ฅ์์ branch๋ก ์์ฒญํฉ๋๋ค. (branch ์ด๋ฆ์ ๊ฐ์ ์ด๋ฆ์ ์ฑ์ผ๋ก ํ๋์ฉ ๋ง๋ค์์ผ๋ ๊ฑฐ๊ธฐ๋ก pull request ๋ถํ๋๋ฆฝ๋๋ค!)