はじめに
本記事は、2024年を締めくくる忘年会で、幹事として会計担当を務めた筆者が、5年ぶりのオフライン開催にあたり作成した「出欠&会費管理システム」について述べていきます。
筆者について
営業からエンジニアに転向して約1年半になったまだまだ初心者です。約1年ほどはクラウドインフラチームとして、AWSを使った案件を中心に担当してきました。半年ほど前から開発案件に携わり、試行錯誤しながらなんとか食らいついています。
出欠&会費管理システムについて
背景と目的
「出欠&会費管理システム」は、参加者の出席または欠席と、参加者が会費を支払ったかを、幹事が正確に管理し、適切な資金繰りを実施するために作成しました。
以下の要因によって、通常以上に参加者や会費、運営費を厳密に管理する必要がありました:
- 忘年会会場に支払う金額が、当日参加した人数によって変動する後払い制
- 参加者からは事前に会費を集める方法にしていたため、当日飛び入り参加の方を判別し、その場で会費を徴収する必要があった
また、開場から乾杯までの時間が少なく、入場時の混雑が想定されたため、少しでも時間の短縮になればよいと考えました。
システムの概要
1.事前準備
- 参加者全員に個別のQRコードを配布
- QRコードには社員番号と名前を含む
2.受付時の処理
- 幹事がiPhoneのショートカットアプリでQRコードをスキャン
- スキャンした情報がAPI Gateway経由でLambdaに送信
3.システムの処理
- Lambdaがkintoneのアプリと連携
- 参加者の出欠と会費状況を確認
- 状況に応じて適切な処理を実行
- 未出席で支払い済み → 出席済みに更新
- 未出席で未支払い → 出席済みに更新(受付担当が会費を徴収)
- すでに出席済み → エラー通知
- リストにない場合 → エラー通知
具体的な設定・実装方法
iPhoneショートカットアプリの設定
以下のように、QRコードから社員番号を読み取ったうえで、API GatewayのURLを叩けるように設定しています。
Lambdaのコード
実際のソースコードの掲載は割愛しますが、以下の機能が主に実装されています。
- kintoneから情報を取得
- 指定した社員番号の情報を取得するため、kintone に GET リクエストを送信
- レスポンスの処理
- 対応するレコードが存在しない場合、エラーを返す
- レコードの情報(出席状況、参加費状況、名前)を取得
- データ更新
- 出席状況が「未出席」であれば「出席済み」に変更
- 更新時に kintone API に PUT リクエストを送信
- メッセージ生成
- 出席状況や参加費状況に応じてメッセージを生成し、結果を返す
開発にあたって工夫した点
1.参加者の出欠と会費の支払い状況を確認するリストをkintoneアプリに実装
- 忘年会当日、開始予定時刻の集まり状況をリアルタイムで把握し、開始時刻の調整などに柔軟に対応可能
- 乾杯等の重要任務がある出演者や役員の到着状況を即時確認可能
2.Lambdaからのレスポンスに名前を含め受付担当のスマホ画面に表示
- 参加者の顔と名前の目視確認による二重チェックが可能
3.QRコードリーダーを購入せず、iPhoneのショートカットアプリを活用
- 経費削減
- 無料のiPhoneショートカットアプリで複数台での同時受付に対応
- 使い慣れたスマートフォンでの操作が可能
実施結果と考察
当日のシステム運用については、技術面では概ね想定通りの動作を実現できました。APIの応答も良好で、kintoneとの連携も問題なく機能しました。
しかし、運用面では予想以上に時間がかかり、受付に列ができてしまう結果となりました。原因として以下が考えられます:
- QRコードをスムーズに表示いただくような、より丁寧な周知が必要だった
- 会場入口が狭く、物理的に混雑が生まれてしまった
- 参加者の一時的な来場集中
一方で、会計面では大きな成果がありました:
- 参加者の出欠状況をリアルタイムで正確に把握
- 当日の飛び入り参加者への迅速な確認・対応
- 会費徴収漏れの完全防止
まとめと今後の展望
このシステムが完全な成功だったとは言い切れませんが、チャレンジする価値は十分にありました。特に、会計担当として抱えていた「正確な参加者管理」という課題に対して、テクノロジーを活用して解決できたことは、エンジニアとして大きな学びとなりました。
当日の運用を含めて、今後の改善点としては以下が挙げられます:
- QRコード読み取り後の通知機能追加
- 出演者向けの特別対応の実装
- QRコードに追加情報を付与し、運用価値を向上
これらの課題は来年度の担当者への引き継ぎ事項として整理し、さらなる改善につなげていければと考えています。
テクノロジーの力で業務改善を実現できた今回の経験は、エンジニアとしての自信にもつながりました。今後も、様々な課題に対してテクノロジーを活用した解決策を模索していきたいと思います。
(最後に、忘年会にご参加いただいたみなさまありがとうございました!こちらのシステムについてもご意見ございましたらアンケートにご記載くださいませ。)