This is a real-time livestreaming demo app built with Jetpack Compose and Stream Video SDK for Compose, and Stream Chat SDK for Compose with a design reminiscent of Google Meet.
The primary objective of this repository is to showcase the following:
- Fully implemented UI components using Jetpack Compose.
- Developed a real-time livestreaming application with a seamless user experience.
- Integrated real-time livestreaming and chat features based on a single activity with Jetpack Compose.
- Designed distinct livestreaming screens for different user types (host and guest).
- Enabled real-time start and stop functionality for livestreaming.
- Demonstrated multiple participants connecting from various platforms, including web and Android.
If you're keen on learning about constructing a real-time livestreaming application using Jetpack Compose, we recommend exploring Android Livestreaming Tutorial. You can also check out our tutorial video for building a Live Streaming App on Android.
If you're interested in exploring more repositories that utilize Jetpack Compose and Stream SDK, take a look at the following repositories:
- Twitch Clone Compose: ๐ฎ Twitch clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat/Video SDK for Compose.
- Zoom Clone Compose: ๐ฅ Real-time Zoom clone application for Android, built with Jetpack Compose and Stream Video SDK for Compose.
- Whats App Clone Compose: ๐ฑ WhatsApp clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat SDK for Compose.
- ChatGPT Android: ๐ฑ ChatGPT Android demonstrates OpenAI's ChatGPT on Android with Stream Chat SDK for Compose.
- Slack Clone Android: ๐ฑ A chat demo app built with Jetpack Compose and Stream Chat SDK following clean architecture principles.
LiveShopping Android is built with Stream Video SDK for Compose to implement real-time livestreaming features. You can check out other references of Stream SDKs below:
- Stream Video SDK for Android on GitHub
- Video Call Tutorials
- Audio Room Tutorials
- Livestream Tutorials
If you want to build your own liveshopping project, you should follow the instructions below:
-
Go to the Stream login page.
-
If you have your GitHub account, click the SIGN UP WITH GITHUB button and you can sign up within a couple of seconds.
- If you don't have a GitHub account, fill in the inputs and click the START FREE TRIAL button.
- Go to the Dashboard and click the Create App button like the below.
- Fill in the blanks like the below and click the Create App button.
- You will see the Key like the figure below and then copy it.
- Create a new file named secrets.properties on the root directory of this Android project, and add the key to the secrets.properties file like the below:
STREAM_API_KEY=..
-
Go to your Dashboard again and click your App.
-
In the Overview menu, you can find the Authentication category by scrolling to the middle of the page.
-
Switch on the Disable Auth Checks option and click the Submit button like the figure below.
- Enjoy build and running the project!
- Minimum SDK level 21.
- 100% Jetpack Compose based + Coroutines + Flow for asynchronous.
- Compose Video SDK for Livestreaming: Stream's versatile Core + Compose UI component libraries that allow you to build video calling, audio room, and, live streaming apps based on Webrtc running on Stream's global edge network.
- Compose Chat SDK for Messaging: The Jetpack Compose Chat Messaging SDK is built on a low-level chat client and provides modular, customizable Compose UI components that you can easily drop into your app.
- Jetpack
- Compose: Androidโs modern toolkit for building native UI.
- ViewModel: UI related data holder and lifecycle aware.
- Navigation: For navigating screens and Hilt Navigation Compose for injecting dependencies.
- Hilt: Dependency Injection.
- Landscapist Glide, animation, placeholder: Jetpack Compose image loading library that fetches and displays network images with Glide, Coil, and Fresco.
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- ksp: Kotlin Symbol Processing API.
If you'd like to test livestreaming with RTMP, you can run a demo web application by visiting the Dashboard (Video & Audio > Create Livestream) and starting your own streaming.
Most of the features are not completed except the chat feature, so anyone can contribute and improve this project following the Contributing Guideline.
Support it by joining stargazers for this repository. โญ
Also, follow maintainers on GitHub for our next creations! ๐คฉ
Copyright 2024 Stream.IO, 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.