/ringcentral-js-widgets

RingCentral Integration Widget Library

Primary LanguageJavaScriptMIT LicenseMIT

ringcentral-js-widgets

Build Status Coverage Status Codacy Badge NPM Version NPM Version

Introduction

RingCentral integration widgets aim to provide reusable RingCentral service module and UI components to allow developers to integrate RingCentral unified communication service into third party processes or tools more easily.

This project includes RingCentral Integration Common Library and RingCentral Widgets Library. The basic idea is to connect modules in RingCentral Integration Common Library with React components to provide ready to use UI widgets.

Get Started

We use RingCentral Widgets CLI to startup a RingCentral Widgets based app.

$ npm install -g ringcentral-widgets-cli
$ rc-widgets -h

Create a new project

rc-widgets new your_project_name
cd your_project_name
yarn install

Update .env file in project root path.

Start development server

$ yarn start

Visit on http://localhost:8080 in browser.

For production build and deploy, please get more information in here.

Tutorials

This is a demo and step-by-step tutorials show how to use this library.

Contribution and Development

We use Lerna.js to manage packages source. And we require Node.js > 8.

Clone the repo:

$ git clone https://github.com/ringcentral/ringcentral-js-widgets.git
$ cd ringcentral-js-widgets

Install dependent libraries:

$ yarn install
$ yarn bootstrap # Bootstrap with lerna
$ yarn test # Run tests

Play with Development Server

A development server is delivered with source so that developers can use it to get familiar with the project or do further development. To get development server running:

Create a file named api-config.js in following format in folder packages/ringcentral-widgets-demo/dev-server to specify app related info

export default {
  appKey: ${app key},
  appSecret: ${app secret},
  server: ${server url},
};

Run following command to start development server

$ yarn start

The development server is listening on port 8080 by default. Open up your browser and access http://localhost:8080 to see how it works.

Note that the development server is using OAuth for authorization process. Please make sure the app you specified in configuration above is setup with Redirect Uri http://localhost:8080/redirect.html.

Projects which use this library