オンラインカウンセリングプラットフォーム

日本初のリアルタイムカウンセリングサービス

Laravel Next.js WebRTC AWS Cloudinary

プロジェクト概要

メンタルヘルスケアのアクセシビリティを向上させるため、予約不要・アプリ不要で、公認心理師や臨床心理士とすぐに相談できるリアルタイムオンラインカウンセリングプラットフォームを企画・開発しました。

従来のカウンセリングサービスでは、事前予約が必要で、相談したいタイミングですぐに話せないという課題がありました。本サービスは「相談したい時にすぐに相談できる」をコンセプトに、1分単位の課金システムを採用し、気軽にメンタルヘルスケアを受けられる環境を実現しました。

主な特徴

予約不要のリアルタイム接続

  • 利用者がサイトにアクセスすると、待機中のカウンセラー一覧をリアルタイムで表示
  • クリック1つで即座にビデオ通話を開始
  • WebRTCを活用した低遅延・高品質な通話体験

1分単位の柔軟な課金システム

  • 従来の30分・60分単位ではなく、1分単位で課金
  • リアルタイムで通話時間と料金を表示
  • Stripeを統合した安全なクレジットカード決済
  • 通話終了後に自動で請求処理

アプリ不要のWeb完結型

  • ブラウザだけで完結し、アプリインストール不要
  • スマートフォン、タブレット、PCのすべてで利用可能
  • レスポンシブデザインで最適な体験を提供

高品質なカウンセリング体制

  • 公認心理師・臨床心理士の資格保有者のみを採用
  • 有識者によるスーパービジョン体制
  • カウンセラー評価システムで品質を担保

技術スタック

フロントエンド

  • Next.js (React): サーバーサイドレンダリングとSPA機能を活用したモダンなUI実装
  • TypeScript: 型安全性を確保し、開発効率と品質を向上
  • WebRTC: ピアツーピアのビデオ通話機能を実装
  • Socket.io: リアルタイム通信でカウンセラーのステータス更新を実現

バックエンド

  • PHP / Laravel: RESTful APIの設計・実装
  • Laravel Echo: リアルタイムイベントブロードキャスティング
  • Redis: セッション管理とリアルタイムデータのキャッシング
  • MySQL: ユーザー情報、カウンセラー情報、セッション履歴の管理

インフラ・その他

  • AWS EC2: アプリケーションサーバーのホスティング
  • AWS RDS (MySQL): データベース管理
  • Cloudinary: プロフィール画像などのメディア配信
  • Stripe: 決済処理の統合
  • CloudWatch: ログ監視とアラート設定

実装した主要機能

1. カウンセラーマッチングシステム

待機中のカウンセラーをリアルタイムで表示し、専門分野や評価、料金などをもとに利用者が選択できるシステムを実装。Socket.ioを活用し、カウンセラーのステータス変更を即座に反映させました。

2. WebRTCビデオ通話機能

WebRTCを活用した1対1のビデオ通話機能を実装。シグナリングサーバーをLaravelで構築し、安定した通話接続を実現しました。通話品質の監視機能も実装し、問題発生時に自動で対応できる体制を構築しました。

3. リアルタイム課金システム

通話開始から1分ごとに料金を計算し、画面上にリアルタイムで表示。通話終了時に自動でStripe APIを呼び出して決済処理を実行。トランザクションの安全性を確保するため、データベースレベルでの整合性チェックも実装しました。

4. セキュリティ対策

  • 通信は全てHTTPS/WSSで暗号化
  • 個人情報は暗号化してデータベースに保存
  • CSRF、XSS対策の実装
  • カウンセリング履歴は法令に準拠した期間で適切に管理

開発における課題と解決策

課題1: WebRTC接続の安定性

課題: NAT越えやファイアウォールにより、一部のユーザーで通話が確立できない問題が発生

解決策: TURNサーバーを構築し、ピアツーピア接続が失敗した場合にリレーサーバー経由で通信できる仕組みを実装。接続成功率を95%から99.8%に向上させました。

課題2: リアルタイム課金の精度

課題: ネットワーク遅延により、実際の通話時間と課金時間にズレが発生

解決策: クライアント側とサーバー側の両方で通話時間を計測し、タイムスタンプを比較して最も正確な時間を採用。通話終了時にサーバー側で最終的な時間を確定する仕組みを実装しました。

課題3: ピーク時のパフォーマンス

課題: 夜間のアクセス集中時にレスポンスタイムが低下

解決策: Redisによるキャッシング戦略の最適化、データベースクエリのN+1問題解消、CDNの導入により、ピーク時でも安定したパフォーマンスを実現しました。

プロジェクトの成果

  • サービス開始から6ヶ月で月間セッション数1,000件突破
  • カウンセラー満足度93%、利用者満足度91%を達成
  • 有識者から「メンタルヘルスケアのアクセシビリティ向上に貢献」と高評価
  • メディア掲載複数件獲得
  • 企業向けサービスへの展開も実現

今後の展開

現在は個人向けサービスを中心に展開していますが、企業の従業員向けサービス「ココロの窓口 for Biz」も開始しました。中小企業向けに、ストレスチェックから従業員カウンセリング、健康経営認定サポートまでワンストップで提供しています。

今後は、AIを活用したカウンセリング補助機能の開発や、グループカウンセリング機能の追加なども検討しています。

このプロジェクトに興味をお持ちですか?

SNSリンクを見る