Skip to content

A collection of animations, compositions, UIs using Jetpack Compose. You can say Jetpack Compose cookbook 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, UIs using Jetpack Compose. You can say Jetpack Compose cookbook or play-ground if you want!

Feel free to request 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

Preview Preview Preview

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

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 commend.
./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.