- Notifications
You must be signed in to change notification settings - Fork0
The video chat demo app based on WebRTC
License
jiayliu/apprtc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Detailed information on devloping in thewebrtc github repo can be found in theWebRTC GitHub repo developer's guide.
The development AppRTC server can be accessed by visitinghttp://localhost:8080.
Running AppRTC locally requires theGoogle App Engine SDK for Python andGrunt.
Detailed instructions for running on Ubuntu Linux are provided below.
Install grunt by first installingnpm. npm isdistributed as part of nodejs.
sudo apt-get install nodejssudo npm install -g npm
On Ubuntu 14.04 the default packages installs/usr/bin/nodejs
but the/usr/bin/node
executable is required for grunt. This is installed on some Ubuntu package sets; if it is missing, you can add this by installing thenodejs-legacy
package,
sudo apt-get install nodejs-legacy
It is easiest to install a shared version ofgrunt-cli
fromnpm
using the-g
flag. This will allow you access thegrunt
command from/usr/local/bin
. More information can be found ongruntjs
Getting Started.
sudo npm -g install grunt-cli
Omitting the-g
flag will installgrunt-cli
to the current directory under thenode_modules
directory.
Finally, you will want to install grunt and required grunt dependencies.This can be done from any directory under your checkout of thewebrtc/apprtc repository.
npm install
On Ubuntu, you will also need to install the webtest package:
sudo apt-get install python-webtest
Before you start the AppRTC dev server and *everytime you update the source code you need to recompile the App Engine package by running,
grunt build
Start the AppRTC dev server from theout/app_engine
directory by running the Google App Engine SDK dev server,
<path to sdk>/dev_appserver.py ./out/app_engine
All tests by runninggrunt
.
To run only the Python tests you can call,
grunt runPythonTests
Note that logging is automatically enabled when running on Google App Engine using an implicit service account.
By default, logging to a BigQuery from the development server is disabled. Log information is presented on the console. Unless you are modifying the analytics API you will not need to enable remote logging.
Logging to BigQuery when running LOCALLY requires asecrets.json
containing Service Account credentials to a Google Developer project where BigQuery is enabled. DO NOT COMMITsecrets.json
TO THE REPOSITORY.
To generate asecrets.json
file in the Google Developers Console for your project:
- Go to the project page.
- UnderAPIs & auth selectCredentials.
- Confirm aService Account already exists or create it by selectingCreate new Client ID.
- SelectGenerate new JSON key from theService Account area to create and download JSON credentials.
- Rename the downloaded file to
secrets.json
and place in the directory containinganalytics.py
.
When theAnalytics
class detects that AppRTC is running locally, all data is logged toanalytics
table in thedev
dataset. You can bootstrap thedev
dataset by following the instructions in theBootstrapping/Updating BigQuery.
When running on App Engine theAnalytics
class will log toanalytics
table in theprod
dataset for whatever project is defined inapp.yaml
.
bigquery/analytics_schema.json
contains the fields used in the BigQuery table. New fields can be added to the schema and the table updated. However, fieldscannot be renamed or removed.Caution should be taken when updating the production table as reverting schema updates is difficult.
Update the BigQuery table from the schema by running,
bq update -t prod.analytics bigquery/analytics_schema.json
Initialize the required BigQuery datasets and tables with the following,
bq mk prodbq mk -t prod.analytics bigquery/analytics_schema.json