wajahatkarim3 / LottieWorld

A Lottie animations marketplace powered by LottieFiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lottie World

A Lottie animations playground app to mess around with animations and clean architecture with MVVM.

Tests

Built with ❤︎ by Wajahat Karim

Video

https://github.com/wajahatkarim3/LottieWorld/blob/main/art/LottieWorld.mp4




Features

  • Loads the Featured, Recent, and Popular animations
  • Allows users to add animations in Favorites
  • Loads Featured Animators.
  • Shows a list of news from the Blogs
  • Allows users to Play/Pause/Control animation in details screen
  • Allows users to scan QR code of animations and play in the app
  • Allows users to share the URL of animation
  • Comes in both light and dark mode.
  • Creates a fake user logged in logout state for demo purposes.

📱 Download Demo on Android

Download the APK file from here on your Android phone and enjoy the Demo App :)

Architecture

  • Built with Modern Android Development practices (MVVM)
  • Utilized Repository and Usecase patterns for data
  • Includes unit tests for Repository, ViewModels, Usecases, API Service response.
  • Include unit test for the DAO and Room database.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Navigation Components - For Navigation between screens with Fragments
  • Dependency Injection
    • Hilt - Easier way to incorporate Dagger DI into Android apps. This is in the main branch.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
  • MockK - For Mocking and Unit Testing
  • Lottie - For Lottie Animations
  • Zxing Barcode Scanner - For QR Code scanning
  • Coil - For Image loading

👨 Developed By

Wajahat Karim

Twitter Web Medium Linkedin

About

A Lottie animations marketplace powered by LottieFiles


Languages

Language:Kotlin 98.4%Language:CMake 1.3%Language:C++ 0.2%