DirectMe app offers live broadcasting feature. Users are offered to paralelly connect to the Zoom meeting to have a video conference while the streaming happens. In order to use the Zoom functionality, the app needs to have the API and verification token keys provided along with the account number that is available after login into the Zoom account. You need to have Zoom PRO subscription in order to use this feature.
There is some configuration that has to be done through the API on the Zoom account so that you can use the feature. Run `rails zoom:setup` rake task to do it.
#### Zoom.us webhooks
To ensure integrity in between different Zoom environments, the app uses Zoom webhooks. To set them up, go to https://marketplace.czoom.us -> Develop -> JWT app -> Feature -> Event Subscriptions and enable following hooks:
* Start Meeting
* End Meeting
* All Recordings have completed
* User has been created
* User had been deleted
#### Syncing app with Zoom account configuration
If you are setting up the app to use Zoom account that has been previously used with DirectME, it is a good idea to make sure that the db state reflects the account situation. To do that, run `rails zoom:sync` rake task.
When videos are uploaded, a video/audio analysis process is initiated. Typically the analysis process sends an SNS notification when it is completed. Those SNS notifications hit a webhook URL within the app to update the status accordingly. This requires a public URL, which you likely won't have in development.
As an alternative, we can poll for status updates using the following Rake task.
```bash
rake dev:poll_for_analysis_updates
```
To run this continuously, there is a [Clockwork](https://github.com/adamwiggins/clockwork) scheduler included.
```bash
bin/clockwork lib/dev_clockwork.rb
```
#### Running a real async background queue locally
1. Verify redis has been installed
1. Set REDIS_URL in your `.env` file
```bash
REDIS_URL=redis://127.0.0.1:6379
```
1. Start Sidekiq
```bash
bundle exec sidekiq -q default -q mailers -c 5
```
### Setup pairing script
[Check out the repo here](https://github.com/pivotal-legacy/git_scripts)
- Tool to add two or more authors on a commit message quickly
- Make sure to add yourself or new devs to the `.pairs` file in the repo