Quality Interview Video Chat Application and Transcript Generator.
// cd into react-app
cd interview-app; yarn start
// in root folder
yarn start
Go to localhost:3000 or react-app port to view changes
// cd into react-app
yarn build
// in root folder
yarn start
docker build --tag <image-name> ./
docker run -p 9000:9000 -it <image-name>
Go to localhost:9000 or express-app port to view changes
// pull directly from docker hub
docker run -d -p 80:9000 suzyng83209/symposio
Symposio is composed of an un-ejected create-react-app front-end and a NodeJS backend. To run it locally, ffmpeg needs to be installed on your machine. Alternatively, build the Docker Image and run it
Symposio does the following:
This is done using WebRTC and the WebRTC wrapper RTCMultiConnection. Socket is handled by the wrapper.
This is also done using WebRTC and RTCMultiConnection. RTCMultiConnection is able to send and receive messages with data when sessions.data = true
This is done using WebRTC and RecordRTC which instantiates a recorder from a WebRTC stream and records it to audio/webm
format.
FFmpeg has a node wrapper, fluent-ffmpeg, that still requires ffmpeg to be installed on the server. Instantiate ffmpeg(), pass in input files, specify filterComplex(), and pass in output.
Symposio uses Watson Developer Cloud: speech to text v1. We use timestamps to massage the returned transcript into continuous chunks then write those chunks to a .txt file.
For Combined transcripts, we generate transcripts for both recordings, zip them together, sort by the start time, and write them into a file where each line is prepended with the type of recording: [LOCAL|REMOTE]
Symposio uses Mailgun API to send email invitations to people that the Interviewer wishes to interview.
TODO
TODO
TODO
Symposio is hosted in a secure environment.