Skip to content

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

License

Notifications You must be signed in to change notification settings

Debanshu777/Compose-Snapchat-Clone

Repository files navigation

Snapchat Compose Clone👻

**Facing with the camaraX for API 30 and above, looking into this issue**

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.4.0-beta02
    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.5
  • Kotlin Version: 1.8.10

Navigation🚀

  • androidx.navigation:navigation-compose:2.5.3
    The Navigation component provides support for Jetpack Compose applications. You can navigate between composables while taking advantage of the Navigation component’s infrastructure and features.

Reference https://blog.mindorks.com/jetpack-compose-navigation

Camara📸

camerax_version = "1.2.1"

Google Map🗺

Video Player with Media 3📽

It can be challenging to decide which library to use for a given use case, and objects from different libraries are often not compatible, requiring adapters or connecting code. Media3 removes these challenges by providing a single set of libraries which work well together.

Coil🍥

Accompanist✨

Dokka and KDoc🚀

Detekt🐱‍🏍

Clean architecture

I am still learning 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 [email protected] 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.

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages