--- id: bd7150d8c442eddfafb5bd1c title: P2P ビデオチャットアプリケーション challengeType: 4 forumTopicId: 302366 dashedName: p2p-video-chat-application --- # --description-- **目標:** と同じような機能を持つ、[Replit](https://replit.com/) アプリを構築してください。 以下の[ユーザーストーリー](https://en.wikipedia.org/wiki/User_story)を実装してください。 必要に応じて、どのようなライブラリあるいは API を使用してもかまいません。 あなたの独自のスタイルにしましょう。 **ユーザーストーリー:** アプリに到着すると同時に、ブラウザはカメラとマイクにアクセスするためにダイアログを表示します。 **ユーザーストーリー:** カメラとマイクへのアクセスを許可すると、ルーム名を入力するためのダイアログが表示されます。 **ユーザーストーリー:** ルーム名を入力して、もしその名前のルームが以前から存在していなかったならば、ルームが作成されます。 **ユーザーストーリー:** その後私の友人も同じウェブサイトに行くことができ、私と同じ部屋の名前を入力し、同じ部屋に加入し、それから私とビデオチャットを開始できます。 **ユーザーストーリー:** もし部屋の名前を入力してから、すでにその部屋に 2 人いた場合、その部屋は満員ですという通知を受け取ります。 **ユーザーストーリー:** 誰でも、どの部屋でも作成できますし加入できます。 また部屋の数はいくらでもありますが、それらすべてに一意の名前が必要です。 **ユーザーストーリー:** マイクやウェブカメラへのアクセスをサイトに許可しないということを選択できます。 許可しないことを選択した場合、または他のドライバの問題が発生した場合は、これらが必要ですというエラーメッセージが表示されます。 **ユーザーストーリー:** 部屋名の入力ステップをキャンセルした場合、または名前を入力しなかったり、スペースしか入力しなかった場合は、再度有効な部屋名を入力するよう求める必要があります。 **ユーザーストーリー:** 部屋にいる 2 人のうちの 1 人の接続が断たれた場合、同じ部屋に再接続してチャットを続けることができます。 これらのユーザーストーリーの実装を終えたら、動作可能なアプリの URL を入力し、必要に応じて GitHub リポジトリの URL を入力してください。 それから「このチャレンジを完了しました」ボタンをクリックしてください。 [freeCodeCamp フォーラム](https://forum.freecodecamp.org/c/project-feedback/409)でプロジェクトを共有することにより、フィードバックを得ることができます。 # --solutions-- ```js // solution required ```