Skip to content

5urf/pomodoro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ… Pomodoro Timer

React์™€ TypeScript๋กœ ๊ตฌํ˜„ํ•œ ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ์•ฑ์ž…๋‹ˆ๋‹ค. ์ง‘์ค‘๋ ฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ 25๋ถ„ ์ž‘์—… + ํœด์‹ ์‚ฌ์ดํด์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‹ Requirements

  • 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.

๐Ÿ›  Tech Stack

  • 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

๐ŸŒ Demo

Live Demo


์ง‘์ค‘๋ ฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ๊ฐ„๋‹จํ•˜๊ณ  ํšจ๊ณผ์ ์ธ ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ โฐ

About

๐Ÿ… Pomodoro Timer

Resources

Stars

Watchers

Forks

Contributors