Coder Social home page Coder Social logo

webrtc-frontend's People

Contributors

adammankowski1 avatar emkacf avatar sebastp avatar thisbounty avatar urgent avatar

Stargazers

 avatar

Watchers

 avatar  avatar

webrtc-frontend's Issues

Desktop App -- Call Connect

On Desktop App, incoming calls show a button in the "Status" column. Need to bind this button to two actions:

Call /calls/connect/:id to update call status across desktop app

Connect to tokbox session with voice only. See work on #2 for opentok connect implementation. Can possibly share javascript functions.

Web App -- Hangup Button

After clicking call, change button to "Hangup"

On click, disconnect from opentok session, and call api endpoint for /call/disconnect/:id

Web App Media Query

On index.html, use CSS media queries to hide dashboard. Instead show web app.

login.html is good, no changes needed.

Create a simple interface. Logo, and one button for "Call"

Possible button design, unless you have better:

http://codepen.io/urgent/pen/PbzMLo

Desktop App -- Server Side events

Need to handle Server Side Events.

When a desktop user clicks the "Incoming" button, the /calls/connect/:id endpoint is requested. This endpoint will send a server side event out to all desktop users. See:

https://github.com/thisbounty/WebRTC-Frontend/blob/master/assets/pages/scripts/table-datatables-responsive.js#L146-L151

This server side event needs to be handled, so that "Status" column in the "Calls" table is updated.

Datatables.js provides an api for updating rows. You may need that. If not, drop down to jquery.

Web App -- Create Call

Need to use OpenTok API to create a voice call

https://tokbox.com/developer/sdks/js/

Use GET /calls/new api endpoint to get tokbox authentication token.

https://tokbox.com/developer/guides/connect-session/js/#connecting

Only need audio, no video:
https://tokbox.com/developer/guides/audio-video/js/#voice
https://tokbox.com/developer/tutorials/web/basic-video-chat/step-4/

Full stream instructions, and once again, friendly reminder, no video is required:
https://tokbox.com/developer/guides/publish-stream/js/index.html#create_publisher

Desktop App -- Signup

Need signup form on frontend, for signing up new users.

Loopback api can create new users with a POST to /users . Try with below fields, if there is an error, we'll look into api.

{
"username": "[email protected]",
"email": "[email protected]",
"firstName": "Admin",
"lastName": "User"
}

Also need to send email.

http://stackoverflow.com/questions/24553164/strongloop-loopback-send-email#35353152

Need a mail server. AWS SES is clunky and cumbersome. Let's look at mailgun:
http://www.mailgun.com/

Desktop App -- Buttons

Need to show different status for "Connected"

If the user clicked the "Incoming" button, the "Connected" status should be a button too. Clicking it will hangup the call.

If the user does not click the "Incoming" button, and the status changes due to a server side event, status should be plain text "Connected"

Please also apply classes to the buttons, so they are styled the same as the login button, but with different colors.

Incoming - Green
Connected button - Red
Connected text - Black
Disconnected - Grey

Desktop App -- Handle invalid local storage

Please add check for token validity to authorization.

Right now just checks if local storage token exists, then redirects to login.

Try making a request to calls/table. If 500 error occurs, please redirect.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.