whatsApp-clone-compose  by GetStream

Android app clone for demonstrating modern Android development

created 3 years ago
1,331 stars

Top 30.8% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a comprehensive WhatsApp clone for Android, showcasing modern development practices with Jetpack Compose and Stream's Chat and Video SDKs. It's an excellent resource for developers looking to implement real-time messaging and video calling features, demonstrating best practices in UI design, architecture, and background task management.

How It Works

The application leverages Jetpack Compose for its entire UI, enabling declarative and efficient UI development. It integrates Stream Chat SDK for real-time messaging and Stream Video SDK for WebRTC-based video calls. The architecture follows Google's official guidance, employing a two-layer structure (UI and Data) with unidirectional data flow, utilizing Hilt for dependency injection, Coroutines for asynchronous operations, and Room for local data persistence.

Quick Start & Requirements

  • Install/Run: Clone the repository and create a secrets.properties file in the root directory with your Stream API key (STREAM_API_KEY=YOUR_API_KEY). Build and run using Android Studio.
  • Prerequisites: Android SDK (minimum 21), Kotlin, Jetpack Compose, Hilt, Coroutines, Stream Chat SDK, Stream Video SDK.
  • Setup: Requires obtaining a Stream API key from getstream.io.
  • Docs: Blog posts detailing architecture and Compose themes are available: Part 1, Part 2.

Highlighted Details

  • Demonstrates full UI implementation using Jetpack Compose.
  • Integrates Stream Chat SDK for real-time messaging and Stream Video SDK for video calls.
  • Follows Google's official app architecture guidance and modularization strategies.
  • Utilizes modern Android development libraries: Hilt, Coroutines, Room, Landscapist.

Maintenance & Community

The project is maintained by GetStream.io. Additional related projects built with Jetpack Compose and Stream SDKs are linked in the README, including ChatGPT, Twitch, Slack, and Messenger clones.

Licensing & Compatibility

Licensed under the Apache License, Version 2.0. This license permits commercial use and linking with closed-source applications, provided the terms of the license are followed.

Limitations & Caveats

The README indicates that most features are incomplete except for the chat functionality, suggesting it's primarily a demonstration project with room for contributions.

Health Check
Last commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
25 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.