Skip to content

7alma9z/Movie-DB

Repository files navigation

Movie-DB

The Movie DB API implementation With clean architechture

Features

  • Home Screen showing list of Categories and movies.
  • Detail Screen to show more information about a Movie.

Architecture

  • Built with MVVM
  • Utilized Usecase, Repository pattern for data.
  • Includes valid Unit tests for Repository and Usecases.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying data changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - 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.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • MockK - For Mocking and Unit Testing.
  • Glide - Glide is a fast and efficient open source media management and image loading framework for Android.

Modules

  • Network Module to utilize TMDB API and all network related opeations are in this module
  • App Module contains the interaction and utilization of above modules

Observations:

  • Recycler view can be used on home to make it dynamic.

Improvements:

  • Add more Unit/UI Tests
  • Build UI with Compose

👨 Developed By

Muhammad Salman Aziz

Linkedin

About

The Movie DB With clean architechture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published