Skip to content

Commit

Permalink
Merge pull request twilio#82 from twilio/AHOYAPPS-218-update-readme
Browse files Browse the repository at this point in the history
Add twilio cli instructions to readme
  • Loading branch information
timmydoza authored Mar 12, 2020
2 parents 32fb786 + 6fed137 commit 740e48a
Showing 1 changed file with 43 additions and 3 deletions.
46 changes: 43 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,47 @@
# Twilio React Video App
# Twilio Video React App

[![CircleCI](https://circleci.com/gh/twilio/twilio-video-app-react.svg?style=svg&circle-token=9d6b1e89d148181aaa6874c29849c730b8ca406d)](https://circleci.com/gh/twilio/twilio-video-app-react)
[![CircleCI](https://circleci.com/gh/twilio/twilio-video-app-react.svg?style=svg)](https://circleci.com/gh/twilio/twilio-video-app-react)

This application demonstrates a multi-party video application built with [twilio-video.js](https://github.com/twilio/twilio-video.js) and [Create React App](https://github.com/facebook/create-react-app).

![App Preview](https://user-images.githubusercontent.com/12685223/76361972-c035b700-62e5-11ea-8f9d-0bb24bd73fd4.png)

## Features

- [x] Video conferencing with real-time video and audio
- [x] Enable/disable camera
- [x] Mute/unmute mic
- [x] Screen sharing
- [x] [Dominant speaker](https://www.twilio.com/docs/video/detecting-dominant-speaker) indicator
- [x] [Network quality](https://www.twilio.com/docs/video/using-network-quality-api) indicator
- [x] [Bandwidth Profile API](https://www.twilio.com/docs/video/tutorials/using-bandwidth-profile-api)

## Requirements

Node.js Version | NPM Version
------------ | -------------
10+ | 6+

### Browser Support

See browser support table for [twilio-video.js SDK](https://github.com/twilio/twilio-video.js/tree/master/#browser-support).

## Getting Started

Run `npm install` to install all dependencies.

The fastest way to get started is to use the Twilio CLI:

1. Install and configure the [Twilio CLI](https://www.twilio.com/docs/twilio-cli/quickstart).
2. Run `twilio plugins:install @twilio-labs/plugin-rtc` to install the app's support plugin.
3. Run `npm run deploy:twilio-cli`

This will deploy the application as a [Twilio Function](https://www.twilio.com/docs/runtime/functions) and provide a link to the app. For more information see the documentation for the [WebRTC Twilio Cli plugin](https://github.com/twilio-labs/plugin-rtc).

The link and passcode will expire after one week. To deploy a new instance of the app, run `npm run deploy:twilio-cli -- --override`.

### Running the local token server

This application requires an access token to connect to a Room. The included local token [server](server.js) provides the application with access tokens. Perform the following steps to setup the local token server:

- Create an account in the [Twilio Console](https://www.twilio.com/console).
Expand Down Expand Up @@ -61,7 +95,7 @@ Additionally, if you would like to invite other participants to a room, each par

This script will build the static assets for the application in the `build/` directory.

## Testing
## Tests

This application has unit tests (using [Jest](https://jestjs.io/)) and E2E tests (using [Cypress](https://www.cypress.io/)). You can run the tests with the following scripts.

Expand Down Expand Up @@ -124,6 +158,12 @@ This application can be configured to authenticate users before they use the app

See [.env.example](.env.example) for an explanation of the environment variables that must be set to enable Google authentication.

## Related

- [Twilio Video Android App](https://github.com/twilio/twilio-video-app-android)
- [Twilio Video iOS App](https://github.com/twilio/twilio-video-app-ios)
- [Twilio CLI RTC Plugin](https://github.com/twilio-labs/plugin-rtc)

## License

See the [LICENSE](LICENSE) file for details.

0 comments on commit 740e48a

Please sign in to comment.