@vendasta/integrations

Components to facilitate integrations from third party services

Usage no npm install needed!

<script type="module">
  import vendastaIntegrations from 'https://cdn.skypack.dev/@vendasta/integrations';
</script>

README

Integrations

A library for integrating services from third-parties.

The intent behind this library is to include components and services that will reach out to an external service. An example being setting up a Zoom meeting, a Crankwheel screen share session, or syncing calendar events.

Modules Provided

Meeting Integrations

This module implements connections to third-party services. The backend work for establishing connections lives in the Meetings microservice: https://github.com/vendasta/meetings

Currently Google Meet and Zoom are supported in this module.

Technical Design

The module is based on a view model design. In the case of this module, you can think of the model as the series of store services for each third-party service. The view is anything a user would see, and the view-model is a single file that connects the view and the model together.

The view-model is also responsible for emitting events that the installing apps would be interested in.

For example: if the view has a button to add a contact, the definition of that contact may vary for each app. So if an add contact button was clicked then the view model would emit an event saying that it was clicked, and it would be the app's responsibility to do something about it. Once the contact has been added, the app can give the new contact to the view model, and it would update the contact list accordingly.

Meeting Integrations Block Diagram