Skip to content

Latest commit

 

History

History
79 lines (67 loc) · 3.98 KB

README.md

File metadata and controls

79 lines (67 loc) · 3.98 KB

Movies-Trailers

A simple yet sufficient android application to fetch:

  • Popular Movies
  • Top Rated Movies
  • Now Playing Movies
  • Upcoming Movies using api from themoviedb.org

Why this project

This project is built to show how to build modern android applications following Guide to app architecture with kotlin and some of the android jetpack libraries.

Getting started

After cloning the project, find the gradle.properties in the .gradle folder inside the project directory. Add TrailerMoviesApp_ApiKey = "YOUR-API-KEY" to that file.

Screenshot

Libraries Used

  • Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.
    • AppCompat - Degrade gracefully on older versions of Android.
    • Android KTX - Write more concise, idiomatic Kotlin code.
  • Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
    • Data Binding - Declaratively bind observable data to UI elements.
    • LiveData - Build data objects that notify views when the underlying database changes.
    • Navigation - Handle everything needed for in-app navigation.
    • Room - Access your app's SQLite database with in-app objects and compile-time checks.
    • Paging - Load and display small chunks of data at a time.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
    • WorkManager - Manage your Android background jobs.
  • UI - Details on why and how to use UI Components in your apps - together or separate
    • Fragment - A basic unit of composable UI.
    • Recyclerview - Display large sets of data in your UI while minimizing memory usage.
  • Third party
    • Glide for image loading
    • Gson Java library that can be used to convert Java Objects into their JSON representation
    • Retrofit A type-safe HTTP client for Android
    • Timber A logger with a small, extensible API which provides utility on top of Android's normal Log class.
    • Kotlin Coroutines for managing background threads with simplified code and reducing needs for callbacks

Upcoming features

  • Adding search page to the app. If you're interested in adding this feature, you can submit a PR. Note: The logic for this feature is already included

Support

If you like the project, do well to star it and also keep a watch.