Sample Applications
EnableX provides a library of open-source sample applications on GitHub covering 1-to-1 video calls, group video conferencing, in-session chat, and CallKit-based native calling. Every sample app is designed to be runnable as-is, so you can explore the code and adapt it for your own product.
Before diving into the sample list, it helps to understand that every EnableX video application consists of two separate components. Both must be running for a video call to work end-to-end.
Component 1 — App Server
The App Server is a backend service you build and host. It holds your App ID and App Key (your EnableX project credentials) and is responsible for two things:
- Creating rooms — calls the EnableX Video API to provision a new video room and returns its
room_id. - Issuing tokens — calls the EnableX Video API to generate a short-lived join token for each participant. The client app uses this token to connect to the room.
Your credentials never leave your server. The client app calls your App Server's API — never the EnableX API directly — to get a token, then uses that token to join the room.
Component 2 — Client Video App
The Client App is the video meeting interface your users interact with. It is built with one of the EnableX Video SDKs (Web, Android, iOS, Flutter, React Native, or Cordova). At startup it contacts your App Server to receive a token, then uses that token to connect to the EnableX media infrastructure and join the room.
The client app handles everything a user sees and does in a session — connecting, publishing audio/video, subscribing to remote streams, muting, screen sharing, chat, and so on.
A client app alone cannot create a room or generate a token — those require your App Server. Sample repositories that contain only a client app need to be paired with a running App Server. See the Demo App Server section below if you want to skip setting up your own server for now.
The fastest way to experience the EnableX platform is through the hosted demo application at try.enablex.io. No account, no server, no code — open the link and start a video call instantly with up to 4 participants. Use it to verify audio/video quality, test your network, or show a quick demo.
If you are a mobile or front-end developer who wants to test a client app without running your own backend, EnableX provides a hosted Demo App Server. It creates rooms and issues tokens on your behalf, using your own App ID and App Key passed as request headers.
Demo Server Endpoint
https://demo.enablex.io
Passing Your Credentials
Send your project credentials as custom HTTP headers on every request to the demo server:
x-app-id: YOUR_APP_ID
x-app-key: YOUR_APP_KEY
The demo server uses these credentials to call the EnableX API on your behalf. Sessions are billed to your account just like any other API call — the demo server simply removes the need for you to run a backend while you are developing or testing the client app.
Most client-only sample apps in the sections below have a configuration file (or a constants
file) where you set the server URL. Point it to https://demo.enablex.io and add
your x-app-id and x-app-key as request headers. The app will then
be fully functional without any server setup.
These repositories contain App Server code only — no client UI. They expose REST endpoints that a client app calls to create rooms and get tokens. Use them as a starting point for your own backend, or pair them with any client-only sample app listed further below.
| Language / Framework | GitHub Repository |
|---|---|
| Node.js | EnableX/One-to-One-Video-Chat-Sample-Web-Application |
| PHP | EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application |
| Python | EnableX/WebRTC-Python-Open-Source-Application-for-1-to-1-video-chat |
| Laravel (PHP) | EnableX/WebRTC-Open-Source-One-To-One-Video-Chat-Application-in-Laravel |
| C# (.NET) | EnableX/One-to-One-Video-Calling-C-Sharp-Application |
These sample applications demonstrate a basic two-party video call — one moderator and one participant connecting over a private EnableX video session. They cover the core flow: obtaining a token, joining a room, publishing audio/video, subscribing to the remote stream, and disconnecting cleanly.
Full Stack — App Server + Web Client
These repositories bundle both the App Server backend and a web-based client UI in a single codebase. Clone, configure your credentials, run — and you have a working 1-to-1 video call application immediately.
| Stack | GitHub Repository |
|---|---|
| Node.js + Web SDK | EnableX/One-to-One-Video-Chat-Sample-Web-Application |
| PHP + Web SDK | EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application |
| Python + Web SDK | EnableX/WebRTC-Python-Open-Source-Application-for-1-to-1-video-chat |
| Laravel + Web SDK | EnableX/WebRTC-Open-Source-One-To-One-Video-Chat-Application-in-Laravel |
| C# + Web SDK | EnableX/One-to-One-Video-Calling-C-Sharp-Application |
Web Client Only — Browser Apps (Web SDK)
These repositories contain the client UI only, built with popular web frameworks using the EnableX Web SDK. Pair them with any App Server above, or point them to the Demo App Server.
| Framework | GitHub Repository |
|---|---|
| VueJS | EnableX/One-to-One-Video-Calling-VueJS-Open-Source-Application |
| ReactJS | EnableX/One-to-One-Video-Calling-Open-Source-ReactJS-Application |
| Angular 8 | EnableX/One-to-One-Video-Calling-Open-Source-Angular8-Application |
Native Mobile Client Only (Android SDK / iOS SDK)
These repositories are native mobile apps for Android and iOS. Pair them with any running App Server or the Demo App Server.
| Platform / Language | GitHub Repository |
|---|---|
| Android — Java | EnableX/One-to-One-Video-Call-Webrtc-Application-Sample-for-Android |
| Android — Kotlin | EnableX/One-to-One-Video-Call-Webrtc-Application-Sample-for-kotlin |
| iOS — Swift | EnableX/One-to-One-Video-Chat-Webrtc-Application-Sample-for-IOS |
Hybrid / Cross-Platform Client Only
These apps use EnableX's cross-platform SDKs. They target both Android and iOS from a single codebase. Pair with any App Server or the Demo App Server.
| Framework | GitHub Repository |
|---|---|
| Flutter | EnableX/One-to-One-Video-Calling-Open-Source-flutter-Application |
| React Native | EnableX/One-to-One-Video-Calling-Open-Source-React-Native-Application |
| Ionic | EnableX/One-to-One-Video-Chat-Sample-Application-in-IONIC-Framework |
| Cordova | EnableX/One-to-One-Video-Chat-Sample-Cordova-Application |
These sample applications demonstrate a multi-party group video conference — one or more moderators and multiple participants all connected in the same session simultaneously. They show how to handle multiple remote streams, manage the participant list, and apply moderator controls.
Full Stack — App Server + Web Client
| Stack | GitHub Repository |
|---|---|
| Node.js + Web SDK | EnableX/Video-Conferencing-Open-Source-Web-Application-Sample |
| PHP + Web SDK | EnableX/Group-Video-Call-Conferencing-Sample-Application-in-PHP |
| Python + Web SDK | EnableX/Group-Video-Chat-Opensource-Application-in-Python |
| Laravel + Web SDK | EnableX/Multiparty-Video-Calling-Laravel-Open-Source-Application |
| C# + Web SDK | EnableX/Multiparty-Video-Calling-C-Sharp-Application |
Web Client Only (Web SDK)
| Framework | GitHub Repository |
|---|---|
| VueJS | EnableX/Multiparty-Video-Chat-Open-Source-VueJS-Application |
Native Mobile Client Only (Android SDK / iOS SDK)
| Platform / Language | GitHub Repository |
|---|---|
| Android — Java | EnableX/Multiparty-Video-Chat-Application-Sample-for-Android |
| iOS — Swift | EnableX/Multiparty-Video-Chat-Application-Sample-for-IOS |
Text Chat / In-Session Messaging
This sample demonstrates EnableX's in-session chat feature — participants sign into a video session and exchange text messages in real time. It is built with the iOS SDK and shows how to integrate the chat API alongside the video session lifecycle.
| Type | Platform | GitHub Repository |
|---|---|---|
| Client App | iOS — Swift | EnableX/Sample-iOS-Chat |
| App Server | Node.js | EnableX/One-to-One-Video-Chat-Sample-Web-Application |
| App Server | PHP | EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application |
CallKit — Native iOS Calling UI
This sample demonstrates integrating Apple's CallKit framework with an EnableX audio/video session. CallKit provides the native iOS incoming call screen (the lock-screen call UI), making your app behave like the built-in Phone app when receiving calls. Pair the Swift client with one of the App Server repos below.
| Type | Platform | GitHub Repository |
|---|---|---|
| Client App | iOS — Swift | EnableX/Video-Audio-Calling-Using-CallKit |
| App Server | Node.js | EnableX/One-to-One-Video-Chat-Sample-Web-Application |
| App Server | PHP | EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application |
The full collection of EnableX sample applications — including additional platforms and specialised use cases — is available on the EnableX GitHub organisation.