This project demonstrates WebRTC protocol to facilitate real-time video communications with Jetpack Compose.
The purpose of this repository is to demonstrate below:
- Implementing entire UI elements for real-time video communication with Jetpack Compose.
- Performing real-time communication in background with Kotlin Coroutines.
- Understanding the peer connection based on WebRTC.
- Communicating with a signaling server to exchange peer connection information between clients.
- Minimum SDK level 24.
- 100% Jetpack Compose based + Coroutines + Flow for asynchronous.
- WebRTC: To build real-time communication capabilities to your application that works on top of an open standard.
- Stream WebRTC Android: A WebRTC pre-compiled library for Android reflects the recent WebRTC updates and supports functional UI components and extensions for Android and Jetpack Compose.
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- Ktor: Building a signaling client websocket server.
- Render: Deploing the signaling server on cloud hosting with the help of Docker.
Copyright 2023 AmrG, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.