๊ฐ๋จํ Todo List ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.
- ๐ Live Demo (GitHub Pages)
- ์์ ๊ธฐ๊ฐ: 2025-08-18
- ์์ ๋ก๊ทธ: Binyard Blog
-
- PR: CRUD ๊ธฐ๋ฅ ๊ตฌํ
- Todo ์์ฑ / ์กฐํ / ์์ / ์ญ์ (CRUD) ๊ธฐ๋ฅ ๊ตฌํ
-
[M2] Clock ยท Timer ยท Stopwatch ๊ธฐ๋ฅ ๊ตฌํ
- PR: Clock ยท Timer ยท Stopwatch ๊ธฐ๋ฅ ๊ตฌํ
- ํ์ฌ ์๊ฐ ํ์, ํ์ด๋จธ, ์คํฑ์์น ๊ธฐ๋ฅ ๊ตฌํ
-
[M3] ๋๋ค ๋ช ์ธ ํ์ ๊ธฐ๋ฅ ๊ตฌํ
- PR: ๋๋ค ๋ช ์ธ ํ์ ๊ธฐ๋ฅ ๊ตฌํ
- ๋๋ค ๋ช ์ธ ์ปดํฌ๋ํธ ๊ตฌํ ๋ฐ ๋ฐ์
-
[M4] json-server ๊ธฐ๋ฐ Todo ์ ์ฅ/ํจ์นญ
- PR: Todo ๋ฐ์ดํฐ json-server ์ฐ๋
- Todo ๋ฐ์ดํฐ๋ฅผ json-server์ ์ฐ๋, ํ์ผ ๊ธฐ๋ฐ ์ ์ฅ
- Create / Read / Update / Delete (CRUD)
- Preset buttons (5m, 10m, 25m)
- Adjust seconds (-30s / +30s)
- Start / Pause / Reset
- Display a random inspirational quote
src/
โโโ components/
โโโ styles/
โโโ utils/
โโโ App.jsx
โโโ main.jsx
public/
โโโ
โโโ
๋ฏธ๋ํ๋ก์ ํธ Todo List
- Todo ์์ฑ / ์กฐํ / ์์ / ์ญ์ (CRUD) ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์.
- ํ์ฌ ์๊ฐ ํ์, ํ์ด๋จธ, ์คํฑ์์น ์ค ํ๋ ์ด์์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์.
- ๋๋ค ๋ช ์ธ์ ํ์ํ ์ ์๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋์ธ์.
- useState, useEffect, useRef๋ฅผ ๊ฐ๊ฐ ํ ๋ฒ ์ด์ ์ฌ์ฉํ์ธ์.
- ์์ ๋กญ๊ฒ ์ ์ฉํด๋ณด๊ณ ์ถ์ CSS๋ฅผ ์์ฑํด๋ณด์ธ์.
- json-server๋ฅผ ์ฌ์ฉํด Todo ์ ๋ณด๋ฅผ ํ์ผ๋ก ์ ์ฅํด ๋ณด์ธ์.
- Custom Hook์ ๋ง๋ค๊ณ ์ฌ์ฉํด ๋ณด์ธ์.
๋ฏธ๋ํ๋ก์ ํธ Todo List Advanced
- ๊ธฐ์กด CRUD๋ฅผ useReducer ์ dispatch ๋ฅผ ํ์ฉํ์ฌ ๊ตฌํํ์ธ์.
- ํฌ๋ ๋ฆฌ์คํธ๋ฅผ Check(์๋ฃ ์ฒ๋ฆฌ) ํ ์ ์๋๋ก ๊ตฌํํ์ธ์. ์๋ฃ ์ฒ๋ฆฌ๋ ๋ฆฌ์คํธ๋ ๋ค๋ฅธ ์คํ์ผ๋ก ๋ณด์ฌ์ผ ํฉ๋๋ค.
- ํฌ๋ ๋ฆฌ์คํธ๋ฅผ LocalStorage๋ฅผ ํ์ฉํ์ฌ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ๊ฐ ๋๋๋ก ๊ตฌํํ์ธ์. ์น ์ฌ์ดํธ๋ฅผ ์๋ก๊ณ ์นจ ํ์ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋ณด์ฌ์ผ ํฉ๋๋ค.
- ๋ฏธ์๋ฃ / ์๋ฃ ์ฌ๋ถ๋ฅผ ํํฐ๋ง ๊ฐ๋ฅํ๊ณ , ํฌ๋๋ฆฌ์คํธ ๊ฒ์์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
- ์ด ๋๊ฐ์ง์ ํํฐ๋ง์ ์ค์ฒฉํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์์ ํ ์ ์๋๋ก ๊ตฌํํ์ธ์. input์ด๋ prompt๊ฐ ์๋, ๋ชจ๋ฌ์ ์์ฑํ์ฌ ์์ ์ ๊ตฌํํด๋ณด์ธ์.
- (์ ํ)๋๋๊ทธ & ๋๋กญ์ ๊ตฌํํ์ฌ ํฌ๋ ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ๊ตฌํํด๋ณด์ธ์!