/Marvin

Movies & Tv Shows information app with Jetpack Compose

Primary LanguageKotlinMIT LicenseMIT

Marvin

a Movie and Tv Show app built completely with Jetpack Compose.

About

this project is an educational project for me to teach my self android development in general and Compose framework specifically. i did my best to follow Clean Architecture, Solid and MVVM Design patterns but if it is any recommendation or best practices, i will gladly check issues and pull requests.

also this is an ongoing project and it's likely to have daily commits in main branch

Prerequisite

In order to be able to build the application you'll need to change the api key in gradle.properties. First and formost you need to generate your own api key by creating a TMDB account and generating an api key.

Tech Stack and Libraries

  • Kotlin 100% Kotlin

  • Jetpack Library Jetpack encompasses a collection of Android libraries that incorporate best practices and provide backwards compatibility in your Android apps.

    • Jetpack Compose Jetpack Compose is Android’s modern toolkit for building native UI

    • Navigation Navigation is a framework for navigating between 'destinations' within an Android application that provides a consistent API whether destinations are implemented as Fragments, Activities, or other components.

    • Paging The Paging Library makes it easier for you to load data gradually and gracefully

    • Room The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

  • Retrofit A type-safe HTTP client for Android

  • OkHttp OkHttp is an HTTP client that’s efficient by default

  • Dagger-Hilt Hilt provides a standard way to incorporate Dagger dependency injection into an Android application.

  • Coil An image loading library for Android backed by Kotlin Coroutines

  • compose-collapsing-toolbar A simple implementation of CollapsingToolbarLayout for Jetpack Compose

  • accompanist A collection of extension libraries for Jetpack Compose

    • System UI Controller A library that provides easy-to-use utilities for recoloring the Android system bars from Jetpack Compose.

    • Pager A library that provides utilities for building paginated layouts in Jetpack Compose, similar to Android's ViewPager.

    • Navigation-Animation A library which provides Compose Material support, such as modal bottom sheets, for Jetpack Navigation Compose.

    • Swipe to Refresh A library that provides a layout implementing the swipe-to-refresh UX pattern, similar to Android's SwipeRefreshLayout.

Screenshots

To Do

  • Local Cache
  • Favorite Functionality
  • Authentication
  • Testing
  • UI Improvement

Disclaimer

This product uses the TMDB API but is not endorsed or certified by TMDB.

(it will be included in application)