Discover the most popular and top rated movies playing. Movies data fetched using tomdbapi.com API.

Overview

Movie-App

A simple news app build using MVVM architecture. Discover the most popular and top rated movies playing. Movies data fetched using tomdbapi.com API.

General info

App uses OMDb API service to load data using retrofit and display on the user screen.

Download and test latest version 👇 Movie-App

Structural design pattern

The app is built with the Model-View-ViewModel (MVVM) is its structural design pattern that separates objects into three distinct groups:

  • Models hold application data. They’re usually structs or simple classes.
  • Views display visual elements and controls on the screen. They’re typically subclasses of UIView.
  • View models transform model information into values that can be displayed on a view. They’re usually classes, so they can be passed around as references.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Hilt - Dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewDataBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Coil-kt - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Screenshot

Home Screen More Movie Screen Movie Player Screen

🚀 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Android Studio 3.2+
  • Java JDK

Installing

Follow these steps if you want to get a local copy of the project on your machine.

1. Clone or fork the repository by running the command below

git https://github.com/mhasancse15/Movie-App.git

2. Import the project in AndroidStudio, and add API Key

  1. In Android Studio, go to File -> New -> Import project.
  2. Follow the dialog wizard to choose the folder where you cloned the project and click on open.
  3. Android Studio imports the projects and builds it for you.
  4. Add OMDb API Key inside Constants file.
API_KEY="Your API Key here"
You might also like...
This is a app that fetches a marvel comic from the marvel api

MarvelApp This is a app that fetches a marvel comic from the marvel api Build Instructions In order for this app to work, both a private and public ma

CoinConverterApp - Application developed consuming HG FINANCE API, with MVVM
CoinConverterApp - Application developed consuming HG FINANCE API, with MVVM

CoinConverter (Android App) 💸 Project description (First version) Application c

Android App using Kotlin, MVVM, ViewModel, LiveData, Coroutines, Room and DataBinding
Android App using Kotlin, MVVM, ViewModel, LiveData, Coroutines, Room and DataBinding

Words Android App using Kotlin, MVVM, ViewModel, LiveData, Coroutines, Room and

This repository contains a detailed sample app that implements MVVM architecture using Hilt, Coroutines, Retrofit and Compose

Saber News App sample project to explain how to build solid, clean architected App using MVVM and repository architecture Techniques Kotlin Clean arch

NY Times - New app built using MVVM and Hilt
NY Times - New app built using MVVM and Hilt

NYTimes A simple app to hit the NY Times Most Popular Articles API and show a li

Simple news app using MVVM
Simple news app using MVVM

Simple News App Simple news app android using MVVM Screenshots News API key News App uses the News API to load news. To use the API, you will need to

Template for using Clean Architecture Concepts in Android
Template for using Clean Architecture Concepts in Android

AndroidCleanArchitecture Template for using Clean Architecture Concepts in Android We have separated the layers into three main group Presentation/App

Currency converter Android application using MVVM architecture
Currency converter Android application using MVVM architecture

Currency Converter Currency conversion using live exchange rates. Demo Screenshots API service

 A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture.
A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture.

CatSearchApp A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture. The App is using the The Cat Api for sear

Owner
Mahmudul Hasan
Android Developer | IOS Developer
Mahmudul Hasan
Retrieve Data from an API using MVVM Clean Architecture and Jetpack Compose

MVVM Clean Architecture Demo Retrieve Data from an API using MVVM Clean Architecture and Jetpack Compose. It simply shows a list of movies fetched fro

Daniel Kago 2 Sep 16, 2022
🍿 A TV Showcase App using Jetpack libs and MVVM arch. Data provided by TV Maze API

TV Showcase A TV Showcase ?? Android App using Jetpack libraries and MVVM architecture. Data provided by TVMaze API. Release ?? Download here See how

Lucas Rafagnin 4 Sep 8, 2022
Movies App by MVVM, Coroutines, Retrofit,, Navigation Component, ExoPlayer, Coil and Firebase

Show-Time Movies App by MVVM, Coroutines, Retrofit, Navigation Component, ExoPlayer, Coil and Firebase Screens Home Movies Details Movies List Person

Hamdy Abd El Fattah 15 Dec 10, 2022
A sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern.

This repository contains a sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern

Areg Petrosyan 42 Dec 23, 2022
A data-binding Presentation Model(MVVM) framework for the Android platform.

PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED. As personal time contraints, I am currently unable to keep up. Please use official android da

RoboBinding open source 1.3k Dec 9, 2022
Unidirectional Data Flow in Kotlin - Port of https://github.com/ReSwift/ReSwift to Kotlin

ReKotlin Port of ReSwift to Kotlin, which corresponds to ReSwift/4.0.0 Introduction ReKotlin is a Redux-like implementation of the unidirectional data

null 538 Dec 13, 2022
🧬 Android DataBinding kit for notifying data changes from Model layers to UI layers on MVVM architecture.

?? Android DataBinding kit for notifying data changes from Model layers to UI layers on MVVM architecture.

Jaewoong Eum 275 Dec 21, 2022
The projet demonstrate the usage of having a contract between our api responses and ui objects to eliminate dependency of both on each other.

WeatherDomainLayerSampleApp The projet demonstrate the usage of having a contract between our api responses and ui objects to eliminate dependency of

Saurabh Pant 9 Dec 14, 2022