Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

⏰ Simple Pomodoro Timer build with React Hooks.
https://github.com/b13o/pomodoro-timer

custom-hooks react typescript useeffect usereducer useref usestate

Last synced: about 1 month ago
JSON representation

⏰ Simple Pomodoro Timer build with React Hooks.

Awesome Lists containing this project

README

        

pomodoro

# ポモドーロタイマー

## 概要

このプロジェクトでは、ポモドーロタイマーを構築します。
25 分の作業、5分の休憩を繰り替えすタイマーを実装し、残り時間を表示します。
時間になったらチャイムが鳴る、一般的なタイマーです。

## 学習目標

さまざまな React Hooks を組み合わせた実装を学習します。

特に、useRef フックを使ったデータ管理と、useState との使い分けについて確認してください。

### 推奨技術

このプロジェクトの難易度と趣旨を踏まえて、以下の使用をお勧めします。

- vite を用いた React 環境構築
- TypeScript による型チェック
- Tailwind CSS を用いたスタイリング
- useState, useRef を用いた値の管理
- useEffect による副作用
- Web Audio API の使用
- GitHub Pages へのデプロイ

---

## 🎯 お題

- 「ユーザーストーリー」を全て満たす、アプリを構築してください。
- 必要に応じて、スクリーンショットやデモサイトの URL を、参照してください。
- なお、スタイルは、あなた自身で独自にカスタマイズすることが可能です。

### 必須機能

1. **タイマー**:
- 25 分間の作業と、5 分間の休憩を計測できる。
- 残り時間を、秒単位で表示する。
2. **タイマーの操作**:
- ボタンをクリックすると、特定の操作ができるボタンを設置する
3. **チャイム**:
- 継続している時間が0になったら、チャイムが鳴る

## ユーザーストーリー

- [ ] ユーザーがサイトにアクセスすると、タイマーが表示されている
- [ ] 現在のセッションタイプ(作業/休憩)が明確に表示される
- [ ] タイマーの残り時間がリアルタイムで表示される
- [ ] ユーザーは、タイマーを開始、一時停止、再開、リセットできる
- [ ] ユーザーは、セッションタイプ(作業/休憩)の切り替えができる
- [ ] タイマー終了時に、サウンド通知が鳴る
- [ ] タイマー終了時に、セッションモードが切り替わり、自動的にタイマーが開始する
- [ ] アプリケーションがデプロイされており、誰でもアクセス可能である。