SlackAndroidClone - Slack android clone with Jetpack Compose

Overview

Slack Android Clone with Compose

Status: ๐Ÿšง In progress ๐Ÿšง

TODO : Rewrite the Colors and light/dark mode compatibility!

This is a jetpack compose sample app written in Kotlin following clean architecture principles.

The purpose of this app to showcase:

  • Implementation of Jetpack Android Architecture components with Dagger Android and Data Binding to minimize boilerplate code
  • Creation of proper components and Subcomponents using Dagger Android and their injection into Activity, Fragment, View Models and Helper Classes
  • Performing background task with Kotlin Coroutines

Screenshots

Screenshots In Progress
drawing drawing
drawing drawing
drawing

๐Ÿ—๏ธ ๏ธ Built with โค๏ธ using Jetpack Compose ๐Ÿ˜

What How
๐ŸŽญ User Interface (Android) Jetpack Compose
๐Ÿ— Architecture Clean
๐Ÿ’‰ DI (Android) Hilt
๐ŸŒŠ Async Coroutines + Flow
๐ŸŒ Networking Retrofit
๐Ÿ“„ Parsing KotlinX

Languages, libraries and tools used

Architecture

SlackClone follows the principles of Clean Architecture with Android Architecture Components.

Architecture's layers & boundaries:

Presentation Layer contains UI (Activities & Fragments) that are coordinated by ViewModels which execute 1 or multiple UseCases. Presentation Layer depends on Domain Layer.

Domain Layer is the most INNER part of the circle (no dependencies with other layers) and it contains Entities, Use cases & Repository Interfaces. Use cases combine data from 1 or multiple Repository Interfaces.

Data Layer contains Repository Implementations and 1 or multiple Data Sources. Repositories are responsible to coordinate data from the different Data Sources. Data Layer depends on Domain Layer.

Notes: Mapping between response models and transformed models will happen via extension functions defined in transformed model file

Conventions:

Files are suffixed with be defined Class types.

  • ViewModels are suffixed with VM. Ex: LoginVM
  • UseCases are suffixed with UseCase. Ex: LoginUseCase
  • Sources are suffixed with Source. Ex: LoginRemoteSource, LoginLocalSource
  • Repositories are suffixed with Repo. Ex: LoginRepo

Conclusion

This project can be used as a template for new apps. This project is continually evolving to integrate other libraries and techniques to keep it up to date.

You might also like...
Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen
Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen

Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen following Udemy course: Android 12 Jetpack Compose Developer Course - From 0 To Hero

Facebook clone built using Jetpack Compose, Firebase Authentication and Firebase Firestore.

facebook-compose Facebook clone built using Jetpack Compose, Firebase Authentication and Firebase Firestore. Setup Create a Firebase project and add t

a Facebook Messenger clone using Stream SDK & Jetpack Compose
a Facebook Messenger clone using Stream SDK & Jetpack Compose

Messenger Clone Built for Android using Stream SDK & Jetpack Compose This project is developed by MathRoda for more projects GitHub . Showcase Video w

Instagraph is an Instagram Clone which I am practicing on a new concepts and other advanced Jetpack compose specific concepts.

Instagraph Instagraph is an Instagram Clone which I am practicing on a new concepts and other advanced Jetpack compose specific concepts. The clone on

Instagram Clone App | Jetpack Compse
Instagram Clone App | Jetpack Compse

Exploring Jetpack Compose, Cloning Instagram to better understanding of UI development in Compose.

Breakout clone built with Compose

breakout-compose The classic Breakout game built with Jetpack Compose โœจ Demo JoyuyNijH2vgqgDy.mp4 ๐Ÿฆฟ Prerequisites Java 8 or above โŒจ๏ธ Usage Clone the

Clone of a onboarding screen๐Ÿ“ฑanimation originally created by @cuberto.

BubblePager Here I tried to clone an onboarding screen animation using Jetpack Compose. Download the apk file from the release page and try it yoursel

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Androidโ€™s modern toolkit for building native UI.
Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Androidโ€™s modern toolkit for building native UI.

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Androidโ€™s modern toolkit for building native UI.

Jetpack Compose Boids | Flocking Insect ๐Ÿœ. bird or Fish simulation using Jetpack Compose Desktop ๐Ÿš€, using Canvas API ๐ŸŽจ
Jetpack Compose Boids | Flocking Insect ๐Ÿœ. bird or Fish simulation using Jetpack Compose Desktop ๐Ÿš€, using Canvas API ๐ŸŽจ

๐Ÿœ ๐Ÿœ ๐Ÿœ Compose flocking Ants(boids) ๐Ÿœ ๐Ÿœ ๐Ÿœ Jetpack compose Boids | Flocking Insect. bird or Fish simulation using Jetpack Compose Desktop ๐Ÿš€ , usi

Owner
Anmol Verma
Android Developer Works at @mutualmobile ๐Ÿค– with 8 years of Experience, Loves tech! ๐Ÿ‘จโ€๐Ÿ’ป #jetpackcompose #kotlin #flutter #springboot #ktor
Anmol Verma
Mpesa-UI-clone-JetpackCompose - A Mpesa Ui Clone using Jetpack Compose

Mpesa-UI-clone-JetpackCompose Let's Challenge ourselves and build this Mpesa App

Felix Kariuki 9 Sep 17, 2022
๐Ÿ“ฑ WhatsApp clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat SDK for Compose.

This is a WhatsApp clone app built with Jetpack Compose and Stream Chat SDK for Compose. The purpose of this repository is to demonstrate below: Imple

Stream 689 Dec 25, 2022
JetFlix - A clone of Android NetFlix app in Android built using Jetpack compose.

JetFlix A clone of Android NetFlix app in Android built using Jetpack compose. This sample app showcases the following: MVVM Architecture (ViewModel +

Pushpal Roy 40 Dec 6, 2022
Instagram Clone built in Android using concept of Jetpack compose.

Instagram_Clone Instagram clone is an app build using new technologies/trends and other advanced Jetpack compose specific concepts. Following are the

raj narayan mishra 4 Dec 2, 2022
Bamboo App clone using JetPack Compose

Bamboo App Clone using Jetpack Compose. Baby steps ?? I am using this project to learn how to build Android UI with Jetpack Compose. Check out Article

NsikakTom 5 Jul 10, 2022
Telegram ui clone built with Jetpack Compose

Telegram UI clone Make telegram ui with Jetpack Compose. Library Jetpack Compose v1.0.1 Compose Icon v1.0.3 Minimum requirements Android Studio Arctic

Farhan Roy 10 Dec 15, 2022
JetInstagram is an Instagram UI clone app built with Jetpack Compose.

JetInstagram JetInstagram is an instagram clone app built with Jetpack Compose. This sample showcases: Home Screen Post Like Button Animation Photo Li

Vipul Asri 652 Jan 4, 2023
InstagramJetpackCompose is an Instagram UI clone app built with Jetpack Compose.

InstagramJetpackCompose is an Instagram UI clone app built with Jetpack Compose.

Quvonchbek Y 5 Apr 18, 2022
A simple Twitter Spaces clone app with Jetpack Compose and 100ms SDK

A simple Twitter Spaces clone app with Jetpack Compose and 100ms SDK to demonstrate the use of 100ms SDK in creating an Audio call feature in your apps.

Joel Kanyi 21 Dec 13, 2022
Snapchat Clone with Jetpack Compose and Clean Architecture

Snapchat Clone with Jetpack Compose and Clean Architecture - Navigation Components, CamaraX, android-maps-compose, Exoplayer, Detekt, Coil, Gradle Secrets, Permission Handling.

Debanshu Datta 121 Dec 28, 2022