WebRTCベースの会議・録画配信プラットフォームを新規に立ち上げました。既存システムのDB・認証には接続しない独立モノレポとし、Web(Next.js)、API(Fastify)、Worker(BullMQ)をTurborepoで管理しています。会議のライフサイクル、参加トークン、ゲスト招待、録画のオーケストレーションとマルチトラック処理を実装。外部チャットツールと連携した会議やモバイルからの参加にも対応し、マイルストーン単位で「何が動く状態か」を一覧化した資料と引き継ぎ文書を整備しました。
- 既存から切り離した独立モノレポ
- 既存システムのDBや認証に依存しない構成で立ち上げることで、既存側の制約に引きずられずに新しいプラットフォームを検証できます。
- Web・API・Workerの分離と録画の非同期化
- 録画のオーケストレーションとマルチトラック処理をWorkerに寄せ、会議中のAPI応答に重い処理が影響しない構造にしています。
- 進行状況の一覧による進行管理
- マイルストーンごとに「何が動く状態か」を一覧化した資料と引き継ぎ文書で、引き継ぎ可能な状態を保っています。
- 会議の入り口を複数用意
- 参加トークンによる入室に加えて、ゲスト招待、外部チャットツールからの会議、モバイルからの参加に対応しました。会議への入り方を1本に絞らず、利用側の環境に合わせて選べる形にしています。
- 引き継ぎを前提にした文書整備
- マイルストーンごとの進行状況の一覧に加え、引き継ぎ文書を整備しました。新規立ち上げの過程そのものを、担当者が替わっても追える記録として残しています。
この種のシステムで検討する論点(想定例)
以下は同種の案件で一般的に検討する内容の整理であり、上記事例の詳細を示すものではありません。
想定例: 新規サービスを既存から切り離して始める判断
既存サービスの利用者基盤を活かしたい気持ちから、新しいサービスを既存のDBや認証に最初から接続したくなりますが、それは既存側のスキーマやリリース手順に新サービスが縛られることを意味します。まず独立した構成で機能の検証を進め、連携が必要になった時点でAPIやID連携の形で接続する方が、両方の開発速度を保てます。切り離して始める場合も、将来の連携で必要になる識別子の設計だけは先に合わせておくと、後の統合が楽になります。
想定例: 録画データの保管と権限
会議の録画は、参加者の発言や映像を含む機微なデータです。誰が録画を開始でき、誰が閲覧・共有・削除できるかの権限と、保管期間、保存先の暗号化を仕様として決めておく必要があります。マルチトラックで保存する場合は、参加者ごとの音声や画面共有を後から編集・配信できる利点がある一方で、データ量と処理時間が増えるため、非同期のジョブとして処理し、完了通知と失敗時の再実行手段を用意しておくのが現実的です。
関連するサービス
関連する業種
関連する開発ガイド
- レンタルサーバー・VPS・クラウドの違いと選び方レンタルサーバー・VPS・クラウドの3種を、管理範囲・自由度・運用負荷の観点で比較し、中小企業のWebサイトや業務システムにどれが合うかを判断する考え方と、保守との関係を解説します。
- 中小企業のWebシステムに最低限必要なセキュリティ対策専任の担当者がいない中小企業でも押さえておきたい Web システムのセキュリティ対策を、SSL/TLS・認証と多要素認証・権限の最小化・アップデート・バックアップ・ログ・個人情報の順に優先度をつけて整理します。
- 納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
他の開発事例
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開