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.
- 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.
- View movie details.
- Place movie orders.
- Add or remove movies from favorites.
- Aesthetic look with the use of the "Poppins" font.
- View movies added to favorites.
- Add or remove movies from favorites.
- Increase or decrease the quantity of products added to the cart.
- Delete products from the cart.
- Apply discount codes.
- 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.
- 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.
This project uses the following APIs for fetching movie data and managing cart operations:
- Get All Movies: http://kasimadalan.pe.hu/movies/getAllMovies.php
- Get Cart Movies: http://kasimadalan.pe.hu/movies/getMovieCart.php
- Add Movie to Cart: http://kasimadalan.pe.hu/movies/insertMovie.php
- Delete Movie from Cart: http://kasimadalan.pe.hu/movies/deleteMovie.php
- Fetch Movie Images: http://kasimadalan.pe.hu/movies/images
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."
}
]
}
- Clone this project:
git clone https://github.com/ismailcanvarli/MovieBank.git
- Open it with Android Studio.
- Synchronize the required dependencies.
- Run the application:
- Use
Shift + F10
or the Run button in Android Studio.
- Use
Follow these steps to test the application:
- View the list of movies on the home page.
- Navigate to the details page of a selected movie.
- Add a movie to the cart from the details page. Repeat this process twice.
- View the cart.
- Add and view movies in the favorites screen.
- Remove movies from the cart one by one.
- Apply a discount code
WELCOME20
.
If you have any questions or suggestions, feel free to reach out!