🍻

飲み会の幹事業務(日程調整/店探し/参加者管理/参加費計算/告知文作成/出欠・支払い管理)をサポートできるWebアプリを作りました

に公開

幹事Base(幹事向けイベント管理アプリ)

幹事Base は、飲み会や懇親会などの 幹事業務をまるごと支援する Web アプリ です。
React(Vite + TypeScript)と Firebase(Authentication / Firestore / Hosting)で構成されています

注記: 本記事の文章はAIが作成しています。

🎯 幹事Baseが解決する課題

従来の幹事業務では、以下のような作業を複数のツールで行き来していました:

  • 📅 日程調整:外部の日程調整ツール or チャットで個別に連絡
  • 🏪 店探し:Google検索やグルメサイトで毎回探す
  • 👥 参加者管理:Excelで手入力 or CSVをコピペ
  • 💰 参加費計算:Excelで複雑な計算式を組む(一般/幹部、労組割引、交際費・支援費の差し引きなど)
  • 📝 告知文作成:手動で作成し、参加費情報を手打ち
  • 当日の出欠・支払い確認:紙やExcelで管理

幹事Baseは、これらの作業をすべて1つのアプリに集約し、複数のツールを行き来することなく幹事業務を効率化します:

  • 認証不要のURL共有で日程調整(参加者回答マトリクスでリアルタイム確認)
  • 💰 現場の複雑な参加費計算ルールを自動化(一般/幹部、労組割引、交際費・支援費、硬貨枚数調整まで)
  • 📝 Teams向け告知文をワンクリックで自動生成(テンプレート編集可能)
  • 🏪 幹事同士で店情報を共有・評価(スレッド形式のコメントでノウハウを残せる)
  • 👥 参加者リストの保存・再利用(CSV取り込み、日程確定時の自動生成)

🎯 アピールポイント:1つのアプリで幹事業務を一元管理

✨ 複数のツールを行き来する必要なし

幹事Baseは、幹事業務に必要なすべての機能を1つのアプリに集約しています。
日程調整ツール、店検索サイト、Excel、チャットアプリなど、複数のツールを行き来する必要がありません。

🔥 日程調整機能(認証不要のURL共有 + リアルタイムマトリクス表示)

従来の方法: 参加者に個別に連絡を取るか、外部の日程調整ツールを使う必要がある

幹事Baseでは:

  • 認証不要のURLを1つ共有するだけで、全参加者が日程調整に参加可能
  • 参加者回答マトリクスをリアルタイムで表示(◯/△/×で一目瞭然)
  • 統計機能で「最多◯の候補日」「最多×の候補日」を自動ハイライト表示
  • 行と列を入れ替え可能で、参加者視点・日程視点の両方で確認できる
  • 日程確定時に自動で参加者リストを生成し、そのままイベント管理に引き継ぎ
  • 役職入力の必須/任意を選択可能(幹部の負担額計算に活用)

💰 現場の複雑な参加費計算ルールを自動化

従来の方法: 手計算やExcelで複雑な計算式を組む必要がある

幹事Baseでは:

  • 一般社員/幹部の区別と**労組割引(1,000円)**を自動適用
  • 交際費・職場支援費を自動で差し引き、補助後の金額を計算
  • 幹部の追加負担額を設定可能(幹部が一般社員より多く負担する場合に対応)
  • 現金モード:硬貨の枚数を指定枚数以内に収めるよう自動調整(超える場合は1,000円単位に切り上げ)
  • PayPayモード:100円単位に切り上げて決済しやすい金額に調整
  • 4パターンの金額(一般/幹部 × 労組あり/なし)を自動計算
  • 各参加者ごとの支払額を自動表示(当日の徴収がスムーズ)

📝 Teams向け告知文の自動生成(テンプレート編集可能)

従来の方法: 告知文を手動で作成し、参加費情報を手打ちする必要がある

幹事Baseでは:

  • 日程調整中でも告知文を作成可能(候補日とURLを含む告知文を自動生成)
  • 日程確定後も告知文を作成可能(日時・場所・アクセス・参加費・支払額一覧まで自動挿入)
  • テンプレートを自由に編集可能(変数を使ってカスタマイズ)
  • 日程調整用と確定後用の2種類のテンプレートに対応(それぞれ独立してカスタマイズ可能)
  • コピーボタンでクリップボードにコピー → Teamsにそのまま貼り付け
  • 参加費計算結果から自動で「誰がいくら払うか」のリストを生成

🏪 幹事同士で育てる店データベース

従来の方法: 店情報を個人で管理するか、共有ドキュメントで管理する必要がある

幹事Baseでは:

  • 幹事同士で店情報を共有(エリア・キャパ・予算・アクセス・電話番号・ビール銘柄・座席タイプなど)
  • 評価コメント(★1〜5)と感想を分けて投稿(評価と注意点を整理して残せる)
  • スレッド形式のコメントで返信やディスカッションが可能
  • 検索機能(エリア・人数・予算・フリーワード)で条件に合う店を素早く発見
  • Googleマップ埋め込みで初めての店でも迷わない
  • 電話番号ワンクリック発信(スマホからそのまま電話)

👥 参加者管理の効率化

従来の方法: 毎回参加者を手入力するか、Excelからコピペする必要がある

幹事Baseでは:

  • CSVから一括取り込み(氏名・所属・役職)
  • 参加者リストを保存・再利用(よく使うメンバーセットを名前付きで保存)
  • 日程確定時に参加者リストを自動生成(日程調整の回答者から自動で作成)
  • 役職・備考・労組申請有無を保持し、参加費計算に自動反映

📋 全機能一覧

1. 店データベース(Store DB)

店情報の管理

  • 店の登録・編集・削除
  • エリア / 店名 / 最大キャパ / 予算 / 最寄駅・徒歩何分 / 喫煙可否 / 電話番号
  • ビール銘柄 / 座席タイプ / コース / 備考
  • Googleマップ埋め込み表示
  • 電話番号ワンクリック発信(スマホ対応)

店の検索

  • エリア・最低人数・上限予算での絞り込み検索
  • フリーワード検索(店名・ビール銘柄・座席・コース・備考・アクセス・喫煙/禁煙)
  • 複数キーワードのAND検索対応

評価・コメント機能

  • 評価コメント(★1〜5)の投稿
  • 感想コメントの投稿
  • スレッド形式での返信・ディスカッション
  • 評価・種別での絞り込み
  • 星ごとの本数グラフ表示

2. イベント管理

イベントの作成・編集

  • イベント名・日時・会場の登録
  • 店DBからの店選択(エリア・キャパ・予算・電話番号が自動反映)
  • 日程確定済みイベントと日程調整中イベントの管理

日程調整機能

  • 候補日の設定(カレンダーから選択、時刻も設定可能)
  • 認証不要のURL発行・共有
  • 参加者回答マトリクス表示(◯/△/×)
  • 統計表示(最多◯/×の候補日をハイライト)
  • 行と列の入れ替え表示(参加者視点・日程視点の切り替え)
  • 役職入力の必須/任意設定
  • 日程確定時に参加者リストを自動生成

参加者管理

  • 参加者の追加・編集・削除
  • CSVからの一括取り込み
  • 参加者リストからの読み込み
  • 役職(一般社員/幹部)の設定
  • 備考(部署名など)の設定
  • 労組申請有無の管理
  • 出欠状況の管理
  • 支払い状況の管理

参加者リスト(マイページ)

  • よく使うメンバーセットを名前付きで保存
  • 参加者リストの作成・編集・削除
  • CSV出力対応
  • 別イベントへのワンクリック流用

出欠・支払い確認専用モード

  • 出欠と支払い状況だけに絞ったシンプルな画面
  • 当日のタップ操作だけで管理可能

3. 参加費計算

入力項目

  • 店の1人あたり金額
  • 一般社員/幹部の人数(自動カウント)
  • 幹部の追加負担額
  • 交際費 / 職場支援費
  • 支払いモード(現金のみ / PayPay可)
  • 現金モード時の許容する硬貨の最大枚数
  • 労組割引(1,000円)有無

計算ロジック

  • 交際費・支援費を店の支払総額から自動差し引き
  • 幹部の追加負担額を考慮した計算
  • 労組割引の適用
  • 一般/幹部 × 労組あり/なし の4パターン自動計算
  • 現金モード:硬貨枚数調整(指定枚数以内、超える場合は1,000円単位に切り上げ)
  • PayPayモード:100円単位に切り上げ

出力結果

  • 一般社員/幹部 × 労組あり/なし の最終支払額
  • 店への支払額(補助前・補助後)
  • 総回収額
  • 余剰金(幹事が受け取る額)
  • 各参加者ごとの支払額一覧

4. Teams向け告知文の自動生成

告知文生成

  • 日程調整中の告知文生成(候補日一覧とURLを含む告知文を自動生成)
  • 日程確定後の告知文生成(日時・場所・アクセス・参加費・支払額一覧まで自動挿入)
  • 日時・場所・アクセス・コースの自動挿入
  • 支払い方法の表示
  • 区分ごとの金額一覧(一般/幹部 × 労組あり/なし)
  • 各参加者の支払額リスト
  • 店への支払額・総回収額・余剰金の表示

テンプレート機能

  • テンプレートの編集・保存
  • 変数を使ったカスタマイズ({eventName}、{dateTime}、{place}、{feeSummary}など)
  • デフォルトテンプレートの復元
  • 日程調整用と確定後用の2種類のテンプレート

コピー機能

  • ワンクリックでクリップボードにコピー
  • Teamsのチャットにそのまま貼り付け可能

5. ユーザー管理

認証機能

  • メール・パスワードでのユーザー登録
  • ログイン・ログアウト
  • 認証状態の管理

マイページ

  • 自分が登録した店の一覧
  • 参加者リストの管理
  • ユーザー情報の表示

6. UXの工夫

操作性

  • すべてのメイン機能がヘッダーとホーム画面から1〜2クリックで到達
  • モーダルやカードを多用した見やすいレイアウト
  • スマホ・PC両対応のレスポンシブデザイン

安全性

  • 削除操作には必ず確認ダイアログを表示
  • 誤操作の防止

入力の改善

  • 数値入力の「0を削除できない」問題を解消
  • 空欄のままでも扱いやすい設計

📖 幹事業務のフローに沿った使い方

ここでは、実際の幹事業務の流れに合わせて、幹事Baseの使い方を説明します。

ステップ1: アプリの準備(初回のみ)

  1. アプリにアクセスし、右上からユーザー登録(メール + パスワード)を行います
  2. ログインすると、ホーム画面から各機能へアクセスできます
    • 店DB:店情報の検索・登録
    • イベント管理:イベントの作成・管理
    • マイページ:自分の店・参加者リストの管理

ステップ2: 日程調整(イベントの企画開始時)

2-1. 日程調整イベントの作成

  1. イベント一覧から「新規イベント」をクリック
  2. 日程調整から」を選択
  3. イベント名を入力(例:「新年会」)

2-2. 候補日の設定

  1. 日程調整管理画面で、カレンダーから候補日を選択
  2. 必要に応じて時刻も設定(全候補日に同じ時刻を適用可能)
  3. 候補日一覧で確認・削除が可能

2-3. URL発行と共有

  1. URLを発行」ボタンをクリック
  2. 発行されたURLをコピー
  3. Teamsやメールで参加者に共有(認証不要なので誰でもアクセス可能)
  4. 役職入力を必須にするか選択可能

2-4. 参加者の回答確認

  • 参加者回答マトリクスでリアルタイムに回答状況を確認
    • ◯:参加可能
    • △:調整中
    • ×:参加不可
  • 統計表示で「最多◯の候補日」「最多×の候補日」を自動ハイライト
  • 行と列を入れ替えで、参加者視点・日程視点の両方で確認可能

2-5. 日程調整用告知文の作成・共有(任意)

日程調整中でも、告知文を作成してTeamsで共有できます:

  1. 日程調整管理画面から「告知文作成」ボタンをクリック
  2. 文章を生成」ボタンをクリック
  3. 候補日一覧とURLを含む告知文が自動生成されます
  4. コピー」ボタンでクリップボードにコピー
  5. Teamsのチャットに貼り付けて共有(参加者に日程調整を依頼)

2-6. 日程確定

  1. 回答状況を確認して、最適な日程を選択
  2. 日程確定」ボタンをクリック
  3. 参加者リスト名を入力(例:「2024新年会参加者」)
  4. ◯がついている参加者から自動で参加者リストを生成
  5. イベントが「日程確定済み」に移行

ステップ3: 店選び(日程確定後)

3-1. 店DBで店を探す

  1. 店DB画面に移動
  2. 検索条件で絞り込み
    • エリア・最低人数・上限予算
    • フリーワード検索(店名・ビール銘柄・座席・コースなど)
  3. 一覧から気になる店をクリックして詳細を確認

3-2. 店の詳細確認

  • 概要:エリア・キャパ・予算・喫煙可否を確認
  • 評価・コメント:過去の幹事の評価や注意点を確認
    • 評価コメント(★1〜5)で「味・コスパ」を確認
    • 感想コメントで「個室の広さ」「アクセスの分かりやすさ」などの注意点を確認
  • Googleマップ:場所を確認
  • 電話番号:ワンクリックで電話(予約時に便利)

3-3. 店の登録(新規店の場合)

  1. 店を登録」ボタンをクリック
  2. エリア・店名・予算・最寄駅・徒歩何分・喫煙可否・電話番号・最大人数などを入力
  3. ビール銘柄・座席タイプ・コースは候補ボタンから選択 or 自由入力
  4. 「登録する」で店DBに追加(他の幹事も使える)

3-4. イベントに店を紐づけ

  1. イベント編集画面に移動
  2. 店を選択」から店DBの店を選択
  3. エリア・キャパ・予算・電話番号が自動で反映

ステップ4: 参加者の確定・登録

4-1. 参加者の追加方法(3通り)

方法A: 日程調整から自動生成

  • ステップ2-5で日程確定時に自動生成された参加者リストを使用

方法B: 参加者リストから読み込み

  • マイページで事前に作成した「参加者リスト」からワンクリックで読み込み

方法C: 手動登録 or CSV取り込み

  • イベント編集画面の「参加者登録」で手動追加
  • またはCSVファイルから一括取り込み

4-2. 参加者情報の設定

  • 役職:一般社員 / 幹部(参加費計算に自動反映)
  • 備考:部署名など
  • 労組申請有無:労組割引(1,000円)の適用に使用

ステップ5: 参加費の計算

5-1. 参加費計算の入力

イベント編集画面の「参加費計算」で以下を入力:

  • 店の1人あたり金額:店の予算から設定
  • 交際費 / 職場支援費:補助額を入力
  • 支払いモード:現金のみ / PayPay可
  • 硬貨の最大枚数(現金モード時):許容する硬貨の枚数を指定
  • 幹部の追加負担額(幹部負担モードON時):幹部が一般社員より多く負担する場合

5-2. 計算実行

  1. 計算する」ボタンをクリック
  2. アプリが自動的に以下を計算:
    • 一般社員・幹部 × 労組あり/なし の4パターンの支払額
    • 店への支払額(補助前・補助後)
    • 総回収額
    • 余剰金(幹事が受け取る額)
    • 各参加者ごとの支払額(当日の徴収に便利)

5-3. 結果の保存

  • 保存」ボタンでイベントに計算結果を保存
  • 告知文生成時に自動で使用される

ステップ6: 告知文の作成・共有

重要:告知文作成は日程調整中と日程確定後の両方で利用可能です

6-1. 告知文の生成

  1. イベント一覧から「告知文作成」をクリック
  2. 文章を生成」ボタンをクリック

日程調整中のイベントの場合:

  • 候補日一覧とURLを含む告知文が自動生成されます
  • Teamsで共有して、参加者に日程調整を依頼できます

日程確定後のイベントの場合:

  • 以下の情報が自動で挿入された告知文が生成されます:
    • 日時
    • 場所・アクセス
    • コース(飲み放題・2時間制など)
    • 支払い方法
    • 区分ごとの金額(一般/幹部 × 労組あり/なし)
    • 誰がいくら払うかのリスト
    • 店への支払額・総回収額・余剰金

6-2. テンプレートのカスタマイズ(任意)

  • テンプレート編集」で告知文のフォーマットを自由に変更可能
  • 日程調整用と確定後用のテンプレートを別々にカスタマイズ可能
  • 変数を使ってカスタマイズ:
    • 日程調整用:{eventName}、{candidates}、{recruitmentUrl}
    • 確定後用:{eventName}、{dateTime}、{place}、{course}、{access}、{feeSummary}、{participants}
  • デフォルトテンプレートに戻すことも可能

6-3. Teamsへの共有

  1. コピー」ボタンでクリップボードにコピー
  2. Teamsのチャットにそのまま貼り付け
  3. 参加者から参加可否と労組申請の有無を返信してもらう

ステップ7: 当日の出欠・支払い確認

7-1. 出欠・支払い確認画面を開く

  1. イベント一覧から「出欠・支払い確認」をクリック
  2. 出欠と支払い状況だけに絞ったシンプルな画面が表示

7-2. 当日の管理

  • 参加者が到着したら「出欠」をチェック
  • 参加費を受け取ったら「支払い済み」をチェック
  • タップ操作だけで管理可能(スマホでも簡単)

ステップ8: 店の評価・コメント(イベント後)

8-1. 店詳細画面で評価を投稿

  1. 店DBから該当店の詳細画面を開く
  2. 評価コメント」または「感想」を選択
  3. 評価コメントの場合は★1〜5を選択
  4. コメントを入力して投稿

8-2. 次の幹事への情報共有

  • 評価コメント:味・コスパなどの評価を★で共有
  • 感想コメント:「個室は思ったより狭かった」「駅から少し分かりにくい」などの注意点を共有
  • スレッド形式で返信やディスカッションも可能
  • 次の幹事が店選びの参考にできる

💡 便利な使い方のコツ

参加者リストの活用

  • よく使うメンバー構成を「参加者リスト」として保存しておくと、次回以降ワンクリックで読み込める
  • 例:「営業部メンバー」「幹部メンバー」など

店DBの育て方

  • イベント後に必ず評価・コメントを投稿することで、幹事同士で「使える店リスト」を育てられる
  • 特に「感想コメント」で注意点を共有すると、次の幹事が店選びで失敗しにくくなる

告知文テンプレートのカスタマイズ

  • 自分の組織の告知文フォーマットに合わせてテンプレートを編集しておくと、毎回同じフォーマットで告知文を生成できる
  • 日程調整用と確定後用の2種類のテンプレートを別々にカスタマイズ可能

Discussion