Giter VIP home page Giter VIP logo

stream-draw-android's Introduction



License API Build Status Kotlin Weekly Android Weekly

πŸ›₯ Stream Draw is a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose.
Draw and guess words with your friends! This project was inspired by Skribbl.io.

Previews

Download

Go to the Releases to download the latest APK.

πŸ›₯ Stream Chat SDK

Stream Draw was built with Android Chat SDK for Messaging to implement messaging systems. If you’re interested in adding powerful In-App Messaging to your app, check out the Android Chat Messaging Tutorial!

πŸ›  Tech Sacks & Open Source Libraries

  • Minimum SDK level 21.
  • 100% Jetpack Compose based + Coroutines + Flow for asynchronous.
  • 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.
    • Lifecycle - Observe lifecycle changes.
    • ViewModel - UI related data holder and lifecycle aware.
    • App Startup - Provides a straightforward, performant way to initialize components at application startup.
  • Hilt - Dependency Injection.
  • sketchbook-compose - Jetpack Compose canvas library that helps you draw paths, images on canvas with color pickers and palettes.
  • landscapist - 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.
  • Moshi - A modern JSON library for Kotlin and Java.
  • Konfetti - Celebrate more with this lightweight confetti particle system.
  • Timber - A logger with a small, extensible API which provides utility.

βœ… Available Features

  • Light and Dark themes.
  • Creating and joining a group channel.
  • Supports host mode and guest mode.
  • Welcome and exit messages.
  • Fetches a list of words from the network.
  • Real-time drawing on the sketchbook.
  • Real-time chat messaging with multiple users.
  • Real-time participants' list of a connected channel.
  • Guessing a word and congratulation animations.
  • Single message notification and real-time chat dialog for the host.
  • Restarting game by the host.
  • Exiting and deleting the channel by the host.
  • And a lot of additional features using Stream Chat SDK for Android!

β˜‘οΈ TODO

  • Available channel list.
  • Game rounds.
  • Time limits.

πŸ’™ Contribution

Anyone can contribute to improving code, docs, or something following our Contributing Guideline.

πŸ“± Game Screenshots

πŸ’― MAD Score

summary

Find this repository useful? πŸ’™

Support it by joining stargazers for this repository. ⭐
Also, follow maintainers on GitHub for our next creations! 🀩

License

Copyright 2022 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.

stream-draw-android's People

Contributors

skydoves avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.