RoomFlow のライブ会議室パネル。時計と会議室ごとのカードが並び、「使用中」「次の会議」「空き」「メンテナンス」で色分けされ、進行中の会議と次の会議が表示されている。

ケーススタディ Grupo Transire

グループ企業の会議室を、すべての予約に承認と記録を残して。

クライアント
Grupo Transire
種類
会議室予約
役割
フルスタック開発
年
2026

Grupo Transire のグループ各社・各棟の会議室を予約・運用するための社内システムです。承認フロー、サーバー側で強制される会議室ルール、経営向けレポート、そして各会議室の入口に置く画面のためのライブパネルを備えています。

複数の会社や建物で共有する会議室は、チャットや共有カレンダーで予約されがちです。その結果、2つのチームが同じ部屋に鉢合わせし、誰が何を承認したのか分からず、実際に何が起きたのかの記録も残りません。

グループを実際の姿(会社、拠点、棟、フロア、会議室)のままモデル化し、サーバーを唯一の信頼できる情報源にしました。予約はそれぞれ履歴を持つステートマシンで、ルールはすべて API に置き、画面はバックエンドが許可することだけを反映します。

実際につくったもの

  1. 01

    NestJS、Prisma、PostgreSQL による API。4つのロールをサーバー側で強制し、JWT のアクセストークンと HttpOnly Cookie に保存するローテーション式リフレッシュトークンを使用。失効済みのリフレッシュトークンが再利用されると、そのユーザーの全セッションを終了し、監査ログに記録します。

  2. 02

    9つの状態を持つ予約ライフサイクル(承認、チェックイン、使用中、終了、ノーショー、キャンセル)。すべての予約は人事または管理者の承認を経て、競合チェックはリトライ付きの SERIALIZABLE トランザクション内で実行されるため、同じ時間枠を2人が取ることはできません。定期予約は毎日・毎週・毎月に対応。

  3. 03

    会議室ごとのポリシー(承認の要否、最大利用時間、利用可能時間帯、チェックイン猶予、他社からの予約、優先部署)。状態が変わるたびに、ステータス履歴、監査ログ、アプリ内通知とメール通知が残ります。

  4. 04

    Next.js 16 と React 19 による4言語対応(pt-BR、en、ja、zh-CN)のインターフェース。6ステップの予約ウィザード、承認キュー、固定ルールで算出する会議室ごとの効率スコア付き経営レポート、そして15秒ごとに更新されるテレビ向けの公開ライブパネル。

技術

  • Next.js
  • React
  • Tailwind CSS
  • Radix UI
  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Docker
  • Jest

グループの社内ツールとして開発中です。予約、承認、ライブパネルのフローはエンドツーエンドで動作しています。CI/CD と定期実行のバックグラウンドジョブが次のステップです。

次のプロジェクトPC MonitorPersonal project · システムユーティリティ