Skip to content

Minimalistic React Pomodoro Timer app with tests for Zustand store wirtten in Jest and RTL

Notifications You must be signed in to change notification settings

NacomiTagiera/Zustand-Pomodoro

Repository files navigation

Pomodoro Timer

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

Features

  • 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

Technologies Used

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

Getting Started

To install and start the app locally, follow these steps:

  1. Clone the repo:
git clone https://github.com/NacomiTagiera/Pomodoro-timer.git
  1. Install the dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 with your browser to see the result.

Testing

To run the tests, navigate to the project directory in your terminal and run the following command:

npm run test