Skip to content

Txy822/MultiModuleMovieApp

Repository files navigation

MultiModuleMovieApp

This is a coding challenge to illustrate how to use clean code architecture to develop multi-module app. It displays Mdb movies in different layout using compose, compose navigation, MVVM, Clean code, Dagger-Hilt dependancy injection, retrofit2, coroutines, flow and other tools and libraries

#Sample UI

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6

Tech Stacks

This project uses many of the popular libraries, plugins and tools of the android ecosystem.

  • Compose

    • Material - Build Jetpack Compose UIs with ready to use Material Design Components.
    • Foundation - Write Jetpack Compose applications with ready to use building blocks and extend foundation to build your own design system pieces.
    • UI - Fundamental components of compose UI needed to interact with the device, including layout, drawing, and input.
    • Lifecycle-ViewModel - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • Navigation - Navigation in compose
  • Jetpack

    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
    • ViewModel - Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
  • Dagger Hilt - Dependency Injection library.

  • Retrofit - Type-safe http client and supports coroutines out of the box.

  • OkHttp-Logging-Interceptor - Logs HTTP request and response data.

  • Flow - Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.

  • Material Design - Build awesome beautiful UIs.

  • Coroutines - Library Support for coroutines,provides runBlocking coroutine builder used in tests.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages