Skip to content

joenjogu/nexflix

Repository files navigation

Nexflix 🚧 under development 🚧

An Android app that displays top and trending movies consuming themoviedb api. Built using architecture components, MVVM and repository pattern as practice for the AAD certification.

Installation

  1. Get a free TMDb API Key from here
  2. Clone the repository onto your local machine.
  3. Use your API key in the gradle buildconfig.
  4. Build and run the app.

Architecture

The project is built using Model-View-ViewModel Architecture. MVVM is a software architectural pattern which helps to cleanly separate the business and presentation logic of an application from its user interface.

mvvm

Technologies Used

  • 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.
    • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • LiveData - Lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
    • 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.
    • Data Binding - Allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
    • Navigation Component -Component that allows easier implementation of navigation from simple button clicks to more complex patterns.
    • WorkManager - An API that makes it easy to schedule reliable, asynchronous tasks that are expected to run even if the app exits or the device restarts.
  • Kotlin Coroutines - A Kotlin feature that converts async callbacks for long-running tasks, such as database or network access, into sequential code.

  • Koin - A pragmatic lightweight dependency injection framework for Kotlin.

  • Material Design - A design system created by Google to help teams build high-quality digital experiences for Android, iOS, Flutter, and the web.

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

  • Moshi Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON into Java objects:

  • okhttp - An efficient HTTP & HTTP/2 client for Android and Java applications.

  • Glide - An image loading and caching library for Android focused on smooth scrolling

Demo

The Application UI: Supports dark and light themes, search functionality, bookmarking and latest movie notifications.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages