/Plasma

An Android Application written using latest Android Jetpack components and best practices, which displays trending movies/TV shows and cast, user can search movies and TV shows and also add them to watchlist.

Primary LanguageKotlinMIT LicenseMIT

Plasma

🚧 Work In Progress 🚧

100% Kotlin ❤️❤️

This Benchmark App is built using latest Android tools and Jetpack libraries which includes

  • Jetpack Compose
  • Jetpack DataStore
  • Jetpack Room
  • Kotlin Coroutines
  • Android Architecture Components( LifeCycle, ViewModel and LiveData)
  • Coroutine Flows
  • Dagger Hilt
  • Navigation UI
  • Single Activity Architecture
  • MVVM Pattern

Works on Android Studio 4.2 Canary 14, gradle 4.2.0-alpha14

This App demonstrates combination of below features

  • Jetpack Compose
    • TextField
    • OutlinedTextField + Password Visual Transformation
    • TextField With Hint
    • Error messages for TextField(EditText)
    • Background Gradient
    • Alpha and Translate Animation
    • LazyColumnFor with pagination
    • LazyGrid with pagination
    • LazyRowFor
    • FlowRow
    • ScrollableColumn
    • Theming, Styling ,Custom Fonts
    • Day/Night Support
    • ComposeView
    • Modifiers
    • Alert Dialog
    • Text Animation
    • KenbunsView with Compose
    • Compose Vertical Gradient Text
    • Compose Gradient Progress
  • Navigation UI with BottomNavigationBar
  • Navigation Directions and Safe Args
  • Navigation UI DeepLinks
  • GlideImage
  • Page State handling based on State
  • StateFlows
  • Preferences with Jetpack DataStore(sync and async)
  • Multi Module
  • ViewModelInject

Data

All the user credentials and Watchlist are saved Locally in Client SQLite Database for now. The data for movies/TV shows are fetched from TheMovieDB open API.

How to Use

Fork this project, Use Android studio 4.2+ and get your own Api key from TheMovieDB, and place it at NetworkModule(line:18), build and start using the app.

About Me

Android Developer with passion towards technology, trying to solve real life problems in a best possible way with Awesome Tech in Hand. I ❤️ Kotlin

Connect with Me