React์ TypeScript๋ก ๊ตฌํํ ๋ฝ๋ชจ๋๋ก ํ์ด๋จธ ์ฑ์ ๋๋ค. ์ง์ค๋ ฅ ํฅ์์ ์ํ 25๋ถ ์์ + ํด์ ์ฌ์ดํด์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- The app should have a timer that counts down from 25 minutes.
- The timer should display the current time in MM:SS format (i.e. 25:00, 24:59, 24:58, etc).
- The timer should have a play and pause button.
- Use Motion to animate the play and pause button.
- Use Motion to animate the numbers.
- Use state management to manage the timer state.
- The app should keep track of how many times the user has completed a round.
- Four rounds should equal one goal.
- When the timer reaches 00:00, reset the time, and increase the number of rounds completed by 1.
- When the user completes 4 rounds, increase the number of goals counter and reset the rounds counter.
- Frontend: React 19, TypeScript
- State Management: Zustand
- Styling: Styled-Components
- Animation: Framer-Motion
- Form Management: React-Hook-Form, Zod
- Build Tool: Vite
- 25๋ถ ์นด์ดํธ๋ค์ด ํ์ด๋จธ: MM:SS ํ์์ผ๋ก ์๊ฐ ํ์
- Play/Pause ์ ์ด: ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ ๊ณผ ํจ๊ป ํ์ด๋จธ ์ ์ด
- ๋ผ์ด๋ ๋ฐ ๋ชฉํ ์ถ์ : 4๋ผ์ด๋ = 1๋ชฉํ ์์คํ
- ์ค์ ๊ธฐ๋ฅ: ๋ชฉํ, ๋ผ์ด๋, ์๊ฐ ์ปค์คํฐ๋ง์ด์ง
- ์๋ฃ ์๋ฆผ: ๋ชฉํ ๋ฌ์ฑ ์ ์ถํ ๋ชจ๋ฌ
# ํ๋ก์ ํธ ํด๋ก
git clone https://github.com/5urf/pomodoro.git
cd pomodoro
# ์์กด์ฑ ์ค์น
pnpm install
# ๊ฐ๋ฐ ์๋ฒ ์คํ
pnpm dev
# ๋น๋
pnpm build์ง์ค๋ ฅ ํฅ์์ ์ํ ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์ธ ๋ฝ๋ชจ๋๋ก ํ์ด๋จธ โฐ