Snapchat Compose Clone👻

Background🌟

Work in progress

This is UI Clone of Snapchat, which is used to show the power of Jetpack Compose. This a personal project with the goal to learn Clean Architecture with Jetpack compose. I have tried to add all the native components like Camera, Mapview and Exoplayer and showcase as an example.
Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.

Dependencies & References⚡

General Dependencies

  • Compose-version: 1.1.1
    Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
  • Gradle-version:7.1.2
  • Kotlin-version:1.6.10

Camara📸

camerax_version = "1.1.0-beta02"

Google Map🗺

Video Player📽

Coil🍥

Hiding Secret Key🔑

Accompanist✨

Dokka and KDoc🚀

Detekt🐱‍🏍

Clean architecture

I am still learing and understanding clean architecture so it might be perfectly correct
In Clean Architecture, instead of relying on Models, you'll communicate with Interactors from the Use Case layer. This layer contains the user interface related code, powered by Android Jetpack! The outer circle represents the concrete mechanisms that are specific to the platform such as networking and database access. Moving inward, each circle is more abstract and higher-level. The center circle is the most abstract and contains business logic, which doesn’t rely on the platform or the framework you’re using.

Refer here for more details and description:

Want to Contribute ?

Awesome! If you want to contribute to this project, you're always welcome! Have any questions, doubts or want to present your opinions, views? You're always welcome. You can mail me at debanshudatta123@gmail.com or make an issue. Looking for contributors! Don't be shy. 😁 Feel free to open issues/pull requests to help me improve this project.

  • When reporting a new Issue, make sure to attach Screenshots, Videos or GIFs of the problem you are reporting.
  • When submitting a new PR, make sure tests are all green. Write new tests if necessary.

Contributors

License

The Snapchat name, artwork, trademark are all property of Snap Inc. This project is provided for educational purposes only. It is not affiliated with and has not been approved by Snap Inc.