An open API service indexing awesome lists of open source software.

https://github.com/martonpaulo/pomodoro-timer

Manage your time effectively using the Pomodoro Timer. The application is built with a focus on simplicity, usability, and modern web development practices.
https://github.com/martonpaulo/pomodoro-timer

context-api react react-hooks-form styled-components typescript vite zod

Last synced: 22 days ago
JSON representation

Manage your time effectively using the Pomodoro Timer. The application is built with a focus on simplicity, usability, and modern web development practices.

Awesome Lists containing this project

README

        

# Pomodoro Timer



License


Last Commit


React Version


TypeScript Version



Test and Deploy status


Welcome to the **Pomodoro Timer** project! ๐Ÿš€


Recording of live application


This project is a sleek and modern Pomodoro Timer application designed to help you manage your time effectively using the Pomodoro Technique. The application is built with a focus on simplicity, usability, and modern web development practices.

Inspired by a tutorial from [RocketSeat](https://www.rocketseat.com.br/), the initial design is available on [Figma](https://www.figma.com/design/4tCa5znwYHpmT0bYGQp8u1/Pomodoro-Timer).

## ๐Ÿ› ๏ธ Technologies Used

The project leverages the following technologies and tools:

- **React**, **React Router DOM**, and **Context API + Reducer**: React for building UIs, React Router for routing, and Context API with Reducer for state management.
- **TypeScript** and **Zod**: Type-safe JavaScript with TypeScript and schema validation with Zod.
- **Vite** and **ESLint**: Fast build tool (Vite) and code quality tool (ESLint).
- **Styled Components** and **Phosphor Icons**: Styling React components with Styled Components and using Phosphor Icons for flexible icons.
- **React Hook Form** and **immer**: Managing form state with React Hook Form and handling immutable state with immer.
- **date-fns**: Modern date utility library.
- **GitHub Pages** and **localStorage**: Hosting the project on GitHub Pages and storing user data locally using localStorage.

## ๐ŸŒ Live Project

The project is integrated with GitHub Pages, ensuring that every commit triggers an automatic deployment. The live version of the application is hosted on GitHub Pages.

๐Ÿ”— **Live Project:** [martonpaulo.github.io/pomodoro-timer](https://martonpaulo.github.io/pomodoro-timer)

For more information about me and my other projects, visit my portfolio: [martonpaulo.com](https://martonpaulo.com)

## ๐Ÿš€ Getting Started

To get started with the project, follow these steps:

1. Clone the repository:
```bash
git clone https://github.com/martonpaulo/pomodoro-timer.git
```
2. Navigate to the project directory:
```bash
cd pomodoro-timer
```
3. Install the dependencies:
```bash
npm install
```

## ๐Ÿ“œ Available Scripts

In the project directory, you can run the following scripts:

- **`npm run dev`** - Starts the development server at `http://localhost:3000/pomodoro-timer`.
- **`npm run build`** - Builds the project for production, outputting the files to the `dist` folder.
- **`npm run lint`** - Runs ESLint to lint the code and ensure code quality.

## ๐Ÿ”ง Future Improvements

Here are some planned improvements and features to be implemented:

- [x] Change route to `localhost:3000` ๐Ÿšฆ
- [x] Add a favicon to the project ๐ŸŒŸ
- [x] Document the technologies used in the project ๐Ÿ“š
- [x] Add a LICENSE file to the project ๐Ÿ“œ
- [x] Host the project on GitHub Pages ๐ŸŒ
- [x] Sort imports in the project ๐Ÿงฉ
- [x] Add linting and formatting to the project ๐Ÿงน
- [x] Write a detailed project description in GitHub ๐Ÿ“
- [x] Make the project responsive for mobile devices ๐Ÿ“ฑ
- [x] Test scenarios and fix bugs ๐Ÿ›
- [x] Add a recording to the README file ๐Ÿ“ธ

## ๐Ÿ“„ License

This project is licensed under the **MIT License**. For more details, see the [LICENSE](LICENSE) file.