Skip to content

๐Ÿ“น A demo app showcasing real-time livestreaming and messaging capabilities built with Jetpack Compose and Stream SDKs.

License

Notifications You must be signed in to change notification settings

GetStream/liveshopping-android

Repository files navigation

LiveShopping Android

License API Build Status Stream Feeds

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.

๐Ÿ“ท Previews

drawing drawing

drawing drawing

โœ๏ธ Tutorial

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.

๐Ÿ’ก Additional Repositories

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.

๐Ÿ›ฅ Stream Video SDK

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:

๐Ÿ’ป Build Your Own LiveShopping Project

If you want to build your own liveshopping project, you should follow the instructions below:
  1. Go to the Stream login page.

  2. If you have your GitHub account, click the SIGN UP WITH GITHUB button and you can sign up within a couple of seconds.

stream

  1. If you don't have a GitHub account, fill in the inputs and click the START FREE TRIAL button.
  2. Go to the Dashboard and click the Create App button like the below.

stream

  1. Fill in the blanks like the below and click the Create App button.

stream

  1. You will see the Key like the figure below and then copy it.

stream

  1. 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

STREAM_API_KEY=..
  1. Go to your Dashboard again and click your App.

  2. In the Overview menu, you can find the Authentication category by scrolling to the middle of the page.

  3. Switch on the Disable Auth Checks option and click the Submit button like the figure below.

stream

  1. Enjoy build and running the project!

๐Ÿ›  Tech Stack & Open Source Libraries

  • 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.

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ Testing Livestreaming With RTMP

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.

Stream Video Web Demo

๐Ÿค Contribution

Most of the features are not completed except the chat feature, so anyone can contribute and improve this project following the Contributing Guideline.

Find this repository useful? ๐Ÿ’™

Support it by joining stargazers for this repository. โญ
Also, follow maintainers on GitHub for our next creations! ๐Ÿคฉ

License

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.

About

๐Ÿ“น A demo app showcasing real-time livestreaming and messaging capabilities built with Jetpack Compose and Stream SDKs.

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages