This is an example app you can use to conduct an interview. It uses Respoke, Node.js, and Backbone.
#Install The Dependencies
npm install # will also install bower dependencies
sudo NODE_ENV=development APP_ID=YOUR_APP_ID APP_SECRET=YOUR_APP_SECRET ROLE_ID=YOUR_ROLE_ID gulp
open https://localhost/
Do not put quotes around YOUR_APP_ID, YOUR_APP_SECRET or YOUR_ROLE_ID. Signup for a Respoke account to create your credentials in less than 10 seconds.
#How To Drive "The Interview Room"
##Join
- Enter your full name and gravatar email address and hit "Join Interview":
##Whiteboard 2) Click "Get Started" to start using the Whiteboard function. You can draw on the whiteboard. When you do, the group will recieve your drawings in real-time:
##Logout 3) Click "Logout" to logout of the app:
##Toggle Video and Whiteboard 4) Click the "Toggle" button to toggle the drawing whiteboard and video whiteboard:
##Video Controls 5) Hover over the video to show the video controls where you can "Mute Audio" or "Mute Video" or "Stop Video":
##Brokered Authentication 6) Checkout server.js to see how Brokered Authentication is implemented for producton apps:
##Messages 7) Type a message and hit [enter] or click [send] to send the message:
Do this from a second instance of the app and you can start an "Audio Call", "Video Call" or "Screen Sharing" session with the group member you selected:
NOTE: Screensharing requires https and our open source chrome extension. Download the extension and add "https://localhost" to permissions and content_scripts#matches. Then [Load unpacked extension] at chrome://extensions/.
##DirectConnection 8) To see DirectConnection, click on the padlock to create a DirectConnection. Once connected, any messages you send will be to that user only instead of the entire group.
##Group Discovery 9) To see Group Discovery, open two tabs of the app and login as different users. Both users will show up for each other (or as many users that join the group really):
##Presence 10) To see Presence, click on one of the logged in users to set their presence to away. Everyone in the group will see the presence updates:
##Asterisk Integration 11) To call your Asterisk server, click on the Asterisk ( * ) symbol to the left. Click the Asterisk (*) symbol again to hangup:
##Call Cell Phones and Landlines 12) To call a cell phone, voip phone or landline on the PSTN, click the dialpad symbol to the left of the Asterisk (*) symbol. An input dialpad will popup. Enter a phone number in the following format +15555555555 and hit enter. You will start to hear a ring in your app, then the phone you called will start to ring as well. Click the dialpad symbol again to hangup:
##Outbound Caller Id
- Using the international number formatting format E.164, the international public telecommunication numbering plan, you set your caller id using the callerId option for client.startPhoneCall:
##Inbound CallerId
- Call your app's assigned phone number. You'll trigger a call event. At which point the call object will be composed of a callerId object. The callerId object will consist of properties like number and name:
#Running The Test Suite
Make sure your server is running:
sudo NODE_ENV=development APP_ID=YOUR_APP_ID APP_SECRET=YOUR_APP_SECRET ROLE_ID=YOUR_ROLE_ID gulp
Do not put quotes around YOUR_APP_ID, YOUR_APP_SECRET or YOUR_ROLE_ID.
Then run your tests:
gulp tests
#Deploying To Heroku
heroku create YOUR_HEROKU_APP_NAME
heroku config:set NODE_ENV=production
heroku config:set APP_ID=YOUR_APP_ID
heroku config:set APP_SECRET=YOUR_APP_SECRET
heroku config:set ROLE_ID=YOUR_ROLE_ID
git push heroku master -f
heroku ps:scale web=1
heroku open