An audio conferencing application that integrates with Deepgram to provide transcriptions of conference audio. The application also records conference audio and includes a simple web GUI and REST provisioning api.
The application requires a mysql database with the provided schema used to create a database named 'deepgram'.
The application also requires a drachtio server and Freeswitch (built using this ansible role or equivalent).
For simplicity of installation, a terraform script is provided that deploys a server in an AWS VPC with all needed dependencies configured, using AWS Aurora to deploy a serverless mysql database. This terraform script utilizes an AWS AMI built from this packer script.
The application requires these environment variables to be set (note: these are all set automatically when the terraform script is used):
- DEEPGRAM_USERNAME: the username needed to access the deepgram transcription endpoint
- DEEPGRAM_PASSWORD: the username needed to access the deepgram transcription endpoint
- DEEPGRAM_MYSQL_HOST: mysql hostname
- DEEPGRAM_MYSQL_USER: mysql username
- DEEPGRAM_MYSQL_PASSWORD: mysql password
To run the included test suite for the REST provisioning api, you will need to have a mysql server installed on your laptop/server. You will need to set the MYSQL_ROOT_PASSWORD env variable to the mysql root password before running the tests. The test suite creates a database and user in your mysql server to run the tests against, and removes it when done. The database, user, and password are specified in config/local-test.json.
MYSQL_ROOT_PASSWORD=foobar npm test