53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
---
|
|
id: bd7150d8c442eddfafb5bd1c
|
|
title: P2P Video Chat Application
|
|
challengeType: 3
|
|
isRequired: false
|
|
---
|
|
|
|
## Description
|
|
<section id='description'>
|
|
<strong>Objective:</strong> Build a <a href='https://glitch.com' target='_blank'>Glitch</a> app that is functionally similar to this: <a href='https://grove-voice.glitch.me/' target='_blank'>https://grove-voice.glitch.me</a>.
|
|
Fulfill the below <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>user stories</a>. Use whichever libraries or APIs you need. Give it your own personal style.
|
|
<strong>User Story:</strong> Upon arriving, the browser will prompt me to access my camera and microphone.
|
|
<strong>User Story:</strong> After I give it permission, I am prompted to type in a room name.
|
|
<strong>User Story:</strong> Once I type in the room name, a room will be created if no room of that name existed before.
|
|
<strong>User Story:</strong> A friend of mine can subsequently go to the same website, type in the same room I entered, and join the same room, then enter into a video chat with me.
|
|
<strong>User Story:</strong> If I type in a room name, and there are already two people in that room, I get a notification that the room is full.
|
|
<strong>User Story:</strong> Anyone can create or join any room. And there can be any number of rooms, but all of them must have unique names.
|
|
<strong>User Story:</strong> I can choose to not permit the site to access my microphone and webcam. If I choose not to do this, if some other driver problem occurs, I see an error message saying these are required.
|
|
<strong>User Story:</strong> When I choose to cancel the room name input step, or if I type in no name, or just spaces, it should again ask me again to type in a valid room name.
|
|
<strong>User Story:</strong> If one of the two people in the room get disconnected, they can reconnect to the same room and continue chatting.
|
|
Remember to use <a href='http://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514' target='_blank'>Read-Search-Ask</a> if you get stuck.
|
|
When you are finished, click the "I've completed this challenge" button and include a link to your Glitch App.
|
|
You can get feedback on your project by sharing it with your friends on Facebook.
|
|
</section>
|
|
|
|
## Instructions
|
|
<section id='instructions'>
|
|
|
|
</section>
|
|
|
|
## Tests
|
|
<section id='tests'>
|
|
|
|
```yml
|
|
tests: []
|
|
|
|
```
|
|
|
|
</section>
|
|
|
|
## Challenge Seed
|
|
<section id='challengeSeed'>
|
|
|
|
</section>
|
|
|
|
## Solution
|
|
<section id='solution'>
|
|
|
|
```js
|
|
// solution required
|
|
```
|
|
</section>
|