Skip to content

torifo/portion-flow

Repository files navigation

Portion-Flow

値を加重配分する Web ユーティリティ

→ アプリを開く

概要

Portion-Flow は、合計値をメンバーのウェイト比に従って整数配分するツールです。
1人1回あたりの上限(デフォルト 0〜120)を設定でき、上限を超える場合は複数回に分割した内訳を自動表示します。

主な機能

機能 説明
加重配分 ハミルトン方式(最大剰余法)で端数なく整数配分
固定値 特定メンバーに固定値を割り当て、残りを比例配分
グループ メンバーをグループ化し、グループウェイトで一括管理
ドラッグ移動 カードをグループ間またはグループ外へドラッグ&ドロップ
制限設定 1人1回あたりの割り当て上限を設定(複数回の内訳を表示)
テーマ切替 Standard / シニア向け / こども向けの3テーマ
エクスポート/インポート JSON 形式で状態を保存・読み込み
コピー 配分結果をクリップボードにコピー
URL共有 状態を URL に圧縮エンコード、ブラウザ間で共有可能

使い方

  1. 合計値 を入力する
  2. メンバー を追加し、名前とウェイトを設定する
  3. 必要に応じて グループ を作成してメンバーを割り当てる
  4. 配分結果を確認し、コピー または エクスポート で共有する

制限設定(⚙ ボタン)

  • 「1人1回あたりの割り当て値を制限する」をオンにすると有効化
  • デフォルト: 最小 0 〜 最大 120
  • 上限を超えるメンバーにはカード上で複数回の内訳を表示

技術スタック

  • React 19 + TypeScript + Vite
  • 状態管理: useState + useCallback
  • URL シリアライズ: lz-string
  • テスト: vitest + fast-check(プロパティベーステスト)
  • デプロイ: GitHub Pages (GitHub Actions)

ローカル開発

npm install
npm run dev      # 開発サーバー起動
npm run build    # プロダクションビルド
npm test         # テスト実行

ライセンス

MIT

Releases

No releases published

Packages

 
 
 

Contributors

Languages