Skip to content

MovieBank is a modern and feature-rich movie sales application built using Android's latest technologies such as Jetpack Compose, MVVM architecture, and Retrofit. It offers a seamless user experience with advanced features like movie listing, sorting, shopping cart management, and support for Dark Mode and Light Mode themes.

Notifications You must be signed in to change notification settings

ismailcanvarli/MovieBank

Repository files navigation

Movie Bank

MovieBank is a modern movie sales application developed using advanced Android development techniques and technologies. The app includes features such as listing movies, viewing details, adding favorites, sorting, and managing the shopping cart. It also offers Dark Mode and Light Mode theme options alongside support for both Turkish and English languages. The "Poppins" font is used throughout the app, enhancing the user experience with a modern and aesthetic design.

📸 Screenshots

Splash Screen

Splash Screen

Home Screen

Home Page

Details Sreen

Movie Details

Favorites Screen

Favorites

Cart Screen

Cart

Features

Home Page

  • List all movies.
  • Search by movie or director name.
  • Sort movies by name, rating, or price.
  • Navigate to the detailed page of a selected movie.
  • Choose between Dark Mode and Light Mode themes.
  • Language support for both Turkish and English.

Details Page

  • View movie details.
  • Place movie orders.
  • Add or remove movies from favorites.
  • Aesthetic look with the use of the "Poppins" font.

Favorites Screen

  • View movies added to favorites.
  • Add or remove movies from favorites.

Cart Screen

  • Increase or decrease the quantity of products added to the cart.
  • Delete products from the cart.
  • Apply discount codes.

Splash Screen

  • Displays an animated Lottie animation during the app launch.
  • Automatically navigates to the home screen after a 3-second delay.
  • Provides a smooth and engaging introduction to the app.

Technologies Used

  • Kotlin: Primary programming language for Android development, providing concise and expressive syntax.
  • Jetpack Compose: Modern and declarative UI building.
  • Retrofit: API communication. (Gson Converter and OkHttp support.)
  • Dagger Hilt: Dependency Injection for managing dependencies efficiently across the application.
  • Coil: Image loading.
  • MVVM: Application architecture.
  • Navigation: Navigation between screens.
  • LiveData and Coroutines: Managing data streams.
  • Room Database: Local storage for user favorite movies.
  • Lottie: Added animated splash screen for a modern user experience.

API

This project uses the following APIs for fetching movie data and managing cart operations:

JSON Examples

All Movies:

{
  "movies": [
    {
      "id": "1",
      "name": "Interstellar",
      "image": "interstellar.png",
      "price": 12.99,
      "category": "Science Fiction",
      "rating": 8.6,
      "year": 2014,
      "director": "Christopher Nolan",
      "description": "A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival."
    }
  ]
}

Installation

  1. Clone this project:
    git clone https://github.com/ismailcanvarli/MovieBank.git
  2. Open it with Android Studio.
  3. Synchronize the required dependencies.
  4. Run the application:
    • Use Shift + F10 or the Run button in Android Studio.

Testing

Follow these steps to test the application:

  1. View the list of movies on the home page.
  2. Navigate to the details page of a selected movie.
  3. Add a movie to the cart from the details page. Repeat this process twice.
  4. View the cart.
  5. Add and view movies in the favorites screen.
  6. Remove movies from the cart one by one.
  7. Apply a discount code WELCOME20.

If you have any questions or suggestions, feel free to reach out!

About

MovieBank is a modern and feature-rich movie sales application built using Android's latest technologies such as Jetpack Compose, MVVM architecture, and Retrofit. It offers a seamless user experience with advanced features like movie listing, sorting, shopping cart management, and support for Dark Mode and Light Mode themes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages