---
id: bd7150d8c442eddfafb5bd1c
title: Aplicação de chat de vídeo P2P
challengeType: 4
forumTopicId: 302366
dashedName: p2p-video-chat-application
---

# --description--

**Objetivo:** criar uma aplicação no [Replit](https://replit.com/) que tenha função semelhante a esta: <https://p2p-video-chat-application.freecodecamp.rocks/>.

Atenda às [especificações de usuário abaixo](https://en.wikipedia.org/wiki/User_story). Use quaisquer bibliotecas ou APIs de que você precisar. Dê a ele o seu próprio estilo pessoal.

**Especificação de usuário:** ao chegar, o navegador me pedirá para acessar minha câmera e microfone.

**Especificação de usuário:** depois que eu conceder permissão, sou solicitado a digitar um nome de sala.

**Especificação de usuário:** quando eu digitar o nome da sala, ela será criada se não existir nenhuma sala com esse nome.

**Especificação de usuário:** um amigo meu pode posteriormente ir para o mesmo site, digitar a mesma sala em que eu entrei e entrar na mesma sala. Então, ele pode entrar em uma videoconferência comigo.

**Especificação de usuário:** se eu digitar um nome de sala e se já há duas pessoas nessa sala, recebo uma notificação de que a sala está cheia.

**Especificação de usuário:** qualquer um pode criar ou entrar em qualquer sala. Pode haver várias salas, mas todas devem ter nomes únicos.

**Especificação de usuário:** posso optar por não permitir que o site acesse meu microfone e câmera. Se eu optar por não fazer isto, ou se ocorrer algum outro problema com o driver, vejo uma mensagem de erro dizendo que eles são necessários.

**Especificação de usuário:** quando eu escolher cancelar a etapa de entrada do nome da sala, se eu não digitar um nome ou digitar apenas espaços, a aplicação deve me pedir novamente para digitar um nome de sala válido.

**Especificação de usuário:** se uma das duas pessoas na sala desconectar, elas poderão se reconectar à mesma sala e continuar conversando.

Depois de terminar de implementar essas especificações de usuários, digite o URL para sua aplicação ao vivo e, como opção, seu repositório do GitHub. Então, clique no botão "Eu completei este desafio".

Você pode obter feedback sobre o seu projeto compartilhando-o no [fórum do freeCodeCamp](https://forum.freecodecamp.org/c/project-feedback/409).

# --solutions--

```js
// solution required
```
