Skip to content

AhmadShubita/MoviesApp

Repository files navigation

Movies App

Movies App is an Android application built using Kotlin and Jetpack Compose, following clean architecture principles, modularization, and various modern Android development technologies.

Screenshots and Video

image1 image2
image4 image5
image7 image8

Architecture

The project is structured using Clean Architecture, separating concerns into layers:

  • Data: Contains the remote and local module data sources, as well as the repository implementations.

  • Domain: Contains the entities and use cases module representing the business logic.

  • Presentation: Consists of the UI and ViewModel module.

Features

1- Movies Screen

  • Top Rated Movies Section

  • Upcoming Movies Section

  • Popular Movies Section

  • Dark/Light Mode Switcher

2- Tv Series Screen

3- People Screen

4- Details

5- View All Screen

Technologies Used

  • MVVM Architecture: Utilizing the Model-View-ViewModel architecture pattern for a clean separation of concerns.
  • Paging: Implementing pagination for efficient data loading.
  • Jetpack Compose: UI app development toolkit.
  • Retrofit: Networking library for handling API calls.
  • Coroutines: Asynchronous programming for managing background tasks.
  • Kotlin Flow: Reactive programming for handling streams of data.
  • Dependency Injection: Utilizing a dependency injection framework (Hilt) for managing object creation and injection.

Getting Started

  1. Clone the repository.
  2. Open the project in Android Studio.
  3. Obtain an API key from TMDB.
  4. Insert the API key in the appropriate gradle.properties file.
  5. Build and run the application on an emulator or physical device.

License

This project is open source and released under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages