Feel free to check the layout in figma, here .
In this project, I've created a timer following @Rocketseat's React.JS training, focusing on gaining in-depth knowledge of React hooks.
Focused on only client-side functionalities, with no backend or consumption of an external API, this project contains some exciting features such as the use of reducers to manage complex state management, styled-components, react hook form to manage form states, immer to handle immutable state as if it were mutable, and much more
# Clone the repository
git clone https://github.com/fernandortec/ignite-timer.git
cd ignite-timer
# Install necessary modules
npm install
Now just run the project with NPM
and you're good to go.
npm start
- [β] zod
- [β] react
- [β] immer - A lib to change immutable data as if it was mutable
- [β] date-fns
- [β] react-hook-form
- [β] styled-components
- [β] nativeHooks (useReducer and useEffect)
- [β] @hookform/resolvers/zod (React hook form + Zod)
- Start a cycle on the timer
- Keep up with the time passed even on another tab
- Interrupt cycle
- History of all cycles