Skip to content

JP: ワークショップや勉強会、アジャイルレトロスペクティブなどで使える、セッション管理に特化したシンプルなタイマーアプリです。ブラウザ上で手軽に使えます。 EN: A simple, session‑oriented timer app for workshops, study groups, and agile retrospectives—designed to run easily in the browser.

License

Notifications You must be signed in to change notification settings

MamoruKuroda/workshop-timer-app

Repository files navigation

ワークショップタイマーアプリケーション

概要

このリポジトリは、ワークショップやグループワーク、共同作業のために特別に設計されたタイマーアプリケーションです。実用的な時間管理と魅力的な音声・視覚フィードバックを組み合わせることで、楽しく効果的な時間管理を実現します。

主な機能

  • 柔軟なタイマー設定: プリセット時間(1分、3分、5分、10分、15分、20分)またはカスタム時間(分・秒)を設定可能
  • 直感的な操作: スタート、一時停止、リセット機能を備えたシンプルなコントロール
  • 音声フィードバック: タイマー完了時に楽しいサウンドを再生(音量調整・ミュート機能付き)
  • 視覚的な演出: タイマー完了時に紙吹雪エフェクトを表示し、達成感を演出
  • 進捗表示: 残り時間を大きく表示し、プログレスバーで進捗を視覚化
  • 状態インジケーター: タイマーの状態(実行中、完了など)をバッジで表示
  • カラーコーディング: 残り時間に応じて表示色が変化(通常→警告→緊急)
  • レスポンシブデザイン: モバイル・PC両対応
  • キーボードショートカット: スペースキーでスタート/一時停止、Rキーでリセット

簡単な使用方法(推奨)

最も簡単な方法: timer.html をダブルクリックしてブラウザで開くだけです!

  1. リポジトリのダウンロード

    • 緑色の「Code」ボタンをクリック
    • 「Download ZIP」を選択
    • ZIPファイルを解凍
  2. タイマーを開く

    • timer.html ファイルをダブルクリック
    • ブラウザで自動的に開きます
  3. 使用開始

    • プリセットボタンで時間を選択、またはカスタム時間を入力
    • 「スタート」ボタンをクリック
    • タイマーが完了すると音と紙吹雪エフェクトが表示されます

特徴:

  • インストール不要
  • サーバー不要
  • オフラインで動作
  • すべての機能が1つのHTMLファイルに含まれています

開発者向け情報

このリポジトリには、React + Vite を使用した開発版のソースコードも含まれています。

必要な環境

  • Node.js (バージョン 18 以上を推奨)
  • npm (Node.js に付属)

セットアップ手順

  1. リポジトリのクローン

    git clone https://github.com/MamoruKuroda/workshop-timer-app.git
    cd workshop-timer-app
  2. 依存パッケージのインストール

    npm install
  3. 開発サーバーの起動

    npm run dev

    ブラウザで http://localhost:5173 (または表示されたURL) にアクセスすると、アプリケーションが表示されます。

  4. ビルド(本番環境用)

    npm run build

    ビルドされたファイルは dist フォルダに出力されます。

  5. プレビュー(ビルド後の確認)

    npm run preview

その他のコマンド

  • コードの品質チェック: npm run lint
  • 最適化: npm run optimize

ファイル構成の説明

workshop-timer-app/
├── timer.html                    # スタンドアロン版タイマー(推奨)
│                                 # ダブルクリックで起動できる完全版
│
├── src/                          # 開発版ソースコード(React + Vite)
│   ├── App.tsx                   # メインアプリケーションコンポーネント
│   ├── main.tsx                  # エントリーポイント
│   ├── components/               # Reactコンポーネント
│   │   ├── Timer.tsx             # タイマーメインコンポーネント
│   │   └── ui/                   # UIコンポーネントライブラリ
│   ├── lib/                      # ユーティリティとヘルパー関数
│   │   ├── confetti.ts           # 紙吹雪エフェクト機能
│   │   └── sound.ts              # サウンド管理機能
│   ├── assets/                   # アセット
│   │   └── audio/                # 音声ファイル
│   │       └── Pafupafu.mp3      # タイマー完了音
│   └── ...
│
├── index.html                    # 開発版HTMLエントリーポイント
├── package.json                  # プロジェクト設定と依存関係
├── vite.config.ts                # Vite設定ファイル
├── tsconfig.json                 # TypeScript設定ファイル
├── PRD.md                        # プロダクト要件定義書
├── README.md                     # このファイル
├── LICENSE                       # ライセンス情報
└── SECURITY.md                   # セキュリティポリシー

主要ファイルの詳細

  • timer.html: すぐに使えるスタンドアロン版タイマー(音声データ、スタイル、スクリプトすべて含む)
  • src/components/Timer.tsx: React版のタイマーメインコンポーネント
  • src/lib/confetti.ts: タイマー完了時の紙吹雪アニメーション機能
  • src/lib/sound.ts: 音声再生を管理するSoundManagerクラス
  • src/assets/audio/Pafupafu.mp3: タイマー完了時に再生される音声ファイル(7秒間)
  • PRD.md: 製品の設計思想、機能要件、デザイン方針を詳細に記載

技術スタック

  • フレームワーク: React 19.0
  • 言語: TypeScript
  • ビルドツール: Vite 6.x
  • スタイリング: Tailwind CSS 4.x
  • UIコンポーネント: Radix UI
  • アイコン: Phosphor Icons、Lucide React
  • アニメーション: Framer Motion

ライセンス

このプロジェクトのSpark Templateリソースは、MIT License の下でライセンスされています。Copyright GitHub, Inc.

詳細は LICENSE ファイルをご確認ください。

About

JP: ワークショップや勉強会、アジャイルレトロスペクティブなどで使える、セッション管理に特化したシンプルなタイマーアプリです。ブラウザ上で手軽に使えます。 EN: A simple, session‑oriented timer app for workshops, study groups, and agile retrospectives—designed to run easily in the browser.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published