Skip to content

An Android movie app built with clean architecture and cool tech like RxJava3, Retrofit, and DataBinding.

Notifications You must be signed in to change notification settings

sonpxp/MovieApp

Repository files navigation

🎬 MovieApp

A sample Android Movie application showcasing DataBinding, MVVM + LiveData, RxJava3, Retrofit, Glide, and Paging architecture in Java.


📱 Screenshots


Home (Popular Movies)

Movie Details

📌 screenshots app.


🚀 Features

  • Browse Popular, Top-Rated, and Trending movies
  • Search movies by title
  • Detailed movie pages including cast, reviews, trailers
  • Favorite movies stored locally
  • Paginated list using Paging library
  • Image loading via Glide
  • Responsive UI with DataBinding and LiveData

🧱 Architecture & Tech Stack

  • Java + Android SDK
  • MVVM pattern with LiveData / ViewModel
  • DataBinding for seamless UI binding
  • RxJava3 for reactive streams
  • Networking: Retrofit + OkHttp
  • UI image loading: Glide
  • Paging for efficient list performance
  • Optional local persistence using Room or SharedPreferences

🛠 Setup & Installation

  1. Clone the repository:

    git clone https://github.com/sonpxp/MovieApp.git
  2. Open in Android Studio

  3. Add your TMDB API Key in gradle.properties or your own config file

  4. Sync and build the project

  5. Run on device/emulator


📂 Project Structure

  • ui/: Activities & Fragments
  • viewmodel/: LiveData ViewModels
  • repository/: Data handling via Retrofit
  • model/: Java data classes
  • binding/: XML layouts with DataBinding
  • utils/: Common utilities and adapters

🧩 Dependencies Highlights

implementation 'androidx.lifecycle:lifecycle-viewmodel'
implementation 'androidx.lifecycle:lifecycle-livedata'
implementation 'com.google.code.gson:gson'
implementation 'io.reactivex.rxjava3:rxjava'
implementation 'com.squareup.retrofit2:retrofit'
implementation 'com.github.bumptech.glide:glide'
implementation 'androidx.paging:paging-runtime'

❤️ Why this project?

This project is a hands-on example for combining core Android Jetpack libraries and RxJava in Java, showing how to build a modern, scalable Movie app with clean architecture, pagination, and smooth UI.


🧪 Want to Contribute?

Feel free to open issues or send pull requests. Some enhancement ideas:

  • Add Room support to cache favorite movies
  • Implement Hilt or Dagger for Dependency Injection
  • Improve UI with Material Components
  • Add unit and UI tests

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


👤 Author

Developed by @sonpxp — open to collaborations on Android, MVVM, RxJava, and more.

Check out more of my work at github.com/sonpxp

About

An Android movie app built with clean architecture and cool tech like RxJava3, Retrofit, and DataBinding.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages