Skip to content

Latest commit

 

History

History
133 lines (101 loc) · 8.58 KB

README.md

File metadata and controls

133 lines (101 loc) · 8.58 KB

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.