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.