Twilio Video
Overview
This Mendix app module adds high-quality video (WebRTC) capability to your Mendix application powered by the Twilio Video programmable API. The module includes a REST API connector including Video Room callback (webhook) support to synchronize Room and Participant status events with the Mendix database. Two Mendix pluggable widgets are included with working demo implementations for Responsive and Native applications.
Documentation
Twilio Video adaptable solution for Mendix
This Mendix app module adds high-quality video (WebRTC) capability to your Mendix application powered by the Twilio Video programmable API. The module includes a REST API connector including Video Room callback (webhook) support to synchronize Room and Participant status events with the Mendix database. Two Mendix pluggable widgets are included with working demo implementations for Responsive and Native applications.
Typical usage scenario
Connect your Mendix application with Twilio client SDKs (REST API, iOS, and Android) to your Twilio Video service subscription to provide peer-to-peer or multi-party group Video chat.
Features and limitations
The adaptable app module includes:
- Domain model
- Demo applications
- Administration app
- Responsive app
- Mobile Native app
- REST API consumer Microflows to create or update Video Room resources
- REST service to process real-time asyncchronous Video Room status callbacks
- Pluggable widget for web
- Pluggable widget for react-native
Dependencies
- Twilio Access Token Generator v2.0.1 by Entidad
- Encryption v10.0.6 (The module does not explicitly provide production-ready microflows to manage the twilioCredential configuration entity but it is highly-advised that the Mendix developer solve for encryption of the Twilio API key secret before deploying their app)
- Native Mobile Resources v6.1.1
- Community Commons V10.2.0
- REST Responses by MxLabs v1.2.0
- Native Keep Awake by Aiden v1.1.0
- Mendix React-Native pluggable widget mendix-react-native-twilio-video-webrtc
- Mendix Web pluggable widget mendix-web-twilio-video-webrtc
Installation
- Download module and run app locally in Mendix Studio Pro. Default app is configured to run on http://localhost:8085/
Configuration
- Configure the Twilio Video service from the Twilio Console
- Optionally, configure a default Status Callback URL endpoint to enable webhook notifications: https://yourdomain.com/rest/twilio/video/room-events
- NOTE if running locally, you will need an HTTP relay service (e.g https://hookdeck.com/)
- Configure twilioCredential to store Twilio API secrets securely in Mendix database
- Login as demo_administrator user to access the responsive Administration demo application: TwilioVideo/_Demo/Responsive/Administration/Pages/TwilioVideoChat_Config
- Save your Twilio API screts
- Run Responsive demo application
- Login as demo_user to join a Video Room: TwilioVideo/_Demo/Responsive/VideoRoom/Pages/VideoRoom_Web
- Run Native demo application to join a Video Room: TwilioVideo/_Demo/Native/VideoRoom/Pages/Home_Native
Known bugs [optional]
To report bugs, submit an issue report on our Github repo
Frequently Asked Questions
- Is the module production ready?
- The TwilioVideo app module provides core building blocks for implementing Video chat features into your Mendix Responsive and/or Native apps, but the resources provided are not enough to deliver a production grade solution. If you are interested in a end-to-end production-ready solution, take a look at our Unmio ISV offering which includes a white-label option.
- Can Mendix developers contribute to the source code to improve the solution components?
- We welcome contributions and hope that Mendix developers who find this module useful would be interested in helping us making improvements. Please fork the Mendix app or widget Github repos and submit a PR request with bugs fixes or improvements.