Skip to content

🎬 Powered by TMDB API and based on Kotlin MVVM architecture.

Notifications You must be signed in to change notification settings

herdal06/HekMovie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawing

🎬 HekMovie is a sample Android project using TMDB API based on MVVM architecture

For API Documentation: Click here

Get it on Google Play

App Screenshots

home screen movie detail actor/actress detail
drawing drawing drawing
bottom of the home screen genres popular people
drawing drawing drawing

App Gifs

movie detail home screen

How to build on your environment

Add your The Movie DB's API key in local.properties file.

API_KEY=add_your_api_key

and run the app.

Tech stack

  • ✅ MVVM with Clean Architecture
  • ✅ Kotlin Flow - In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
  • ✅ LiveData - is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • ✅ Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • ✅ Navigation Component - Handle everything needed for in-app navigation. asynchronous tasks for optimal execution.
  • ✅ Safe-Args - For passing data between destinations
  • ✅ Paging3 - The Paging library helps you load and display pages of data from a larger dataset from local storage or over network.
  • ✅ Dagger-Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • ✅ ViewModel - Easily schedule asynchronous tasks for optimal execution.
  • ✅ Retrofit- Retrofit is a REST client for Java/ Kotlin and Android by Square inc under Apache 2.0 license. Its a simple network library that is used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API.
  • ✅ OkHttp - Doing HTTP efficiently makes your stuff load faster and saves bandwidth.
  • ✅ Moshi - A modern JSON library for Kotlin and Java.
  • ✅ View Binding - a feature that allows you to more easily write code that interacts with views.
  • ✅ Data Binding - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • ✅ Lifecycle - As a user navigates through, out of, and back to your app, the Activity instances in your app transition through different states in their lifecycle.
  • ✅ Glide - for image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
  • ✅ Timber - This is a logger with a small, extensible API which provides utility on top of Android's normal Log class.

TODOS:

  1. User authentication
  2. Search movies and people
  3. Add movie to watch later list
If you feel like support me about this features, I will gladly accept.

About

🎬 Powered by TMDB API and based on Kotlin MVVM architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages