Skip to content

A collection of animations, compositions, UIs using Jetpack Compose. You can say Jetpack Compose cookbook, showcase or play-ground if you want!

License

Notifications You must be signed in to change notification settings

ImaginativeShohag/Why-Not-Compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Why Not Compose!

A collection of animations, compositions, and UIs using Jetpack Compose. You can say Jetpack Compose cookbook, showcase or playground if you want!

Please feel free to ask for features or suggestions for improvements.

Developer Buy Me A Coffee GitHub release Google Play API ktlint

Notable Features & Libraries

  • MVI Pattern
  • Navigation Component
  • Hilt
  • Everywhere dark mode support
  • A lot of Ready to use compositions
  • Material 3
  • Gradle Kotlin DSL
  • CI/CD
    • ktlint
    • CodeQL
    • Publish to Google Play
  • Material 3 examples
  • Animated Splash Screen (Introduced in Android 12)

Screenshots

Animations

Compositions

Preview Preview Preview
Preview Preview Preview
Preview Preview Preview
Preview Preview Preview
Preview Preview Preview
Preview

UIs

Map View OTP code verify Web View
pager.mp4

Tutorials

  • Counter (Beginner)
  • Counter with ViewModel (Beginner)
  • AnimatedVisibility (Beginner)
  • Lottie (Beginner)
  • Select image and crop for upload (Intermediate)
  • Capture image and crop for upload (Intermediate)
  • Permission (Beginner)
  • Data Fetch and Paging (Advanced)
  • Tic-Tac-Toe (Advanced)
  • OneSignal and Broadcast (Intermediate)
  • ExoPlayer (Advanced)
  • CMS (Advanced)
    • Memory and storage caching
  • Deep Link (Intermediate)
  • Navigation Data Pass (Intermediate)
  • Reactive Model (Beginner)
  • Baseline Profiles (Intermediate)
  • Barcode Scanner (Google code scanner and ML Kit Barcode) (Intermediate)
Counter Animated Visibility Lottie
Exo Player Tic-Tac-Toe CMS
Deep Links
barcode_scanner.mp4

TODO

Note

  • For dependency version check I am currently using Gradle Versions Plugin . I added this in the Gradle init script and can check versions using the following command.
./gradlew dependencyUpdates
  • The project using spotless with klint. Apply spotless using the following command.
./gradlew --init-script gradle/init.gradle.kts spotlessApply

Setup

Map API Key

Open the local.properties in your project level directory, and then add the following code. Replace YOUR_API_KEY with your API key.

MAPS_API_KEY=YOUR_API_KEY

Go REST API Key

Open the local.properties in your project level directory, and then add the following code. Replace YOUR_API_KEY with your Go REST API key.

CMS_API_KEY=YOUR_API_KEY

Other Interesting Repos

Credits

Licence

Copyright 2021 Md. Mahmudul Hasan Shohag

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.