This is a simple pomodoro timer app built with React.js, Zustand and Material UI. The website allows you to set a timer for a 25-minute pomodoro session, followed by a 5-minute break. You can also customize the duration of the pomodoro and break sessions. The app is deployed on Vercel and can be accessed at https://nextjs-zustand-pomodoro-timer.vercel.app
- Customizable work and break durations
- Audio notifications when a work or break period ends
- Pause, resume, and reset functionality
- Responsive design that works on desktop and mobile
- Unit tests for the Zustand store using Jest and React Testing Library
- React - JavaScript library for building user interfaces.
- Zustand - Small, fast and scaleable state management library for React.
- Material UI - Popular React UI framework that provides a set of components and styles for building web applications.
- Jest - JavaScript testing framework that provides a test runner, assertion library, and mocking support.
- React Testing Library - Library for testing React components that provides a light-weight, simple and complete testing solution.
To install and start the app locally, follow these steps:
- Clone the repo:
git clone https://github.com/NacomiTagiera/Pomodoro-timer.git
- Install the dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 with your browser to see the result.
To run the tests, navigate to the project directory in your terminal and run the following command:
npm run test