A modern Android application for discovering trending films, searching titles, viewing rich metadata, and managing offline favorites.
- Discover Content: Browse trending, popular, and top-rated movies.
- Smooth Navigation: Horizontally scrollable lists for effortless exploration.
- Real-time Search: Look up movies by title instantly via remote API requests.
- State Management: Robust handling of loading, success, and error states.
- Rich Metadata: View overviews, ratings, vote counts, release dates, and popularity metrics.
- Visuals: High-resolution poster and backdrop images.
- Local Persistence: Save favorite movies securely using Room Database.
- Offline Access: Access your saved favorites anytime without an internet connection.
| Category | Technologies |
|---|---|
| Language | Kotlin |
| UI & Layout | XML, RecyclerView, ViewBinding, Material Design 3 |
| Architecture | MVVM (Model-View-ViewModel) |
| Asynchronous | Kotlin Coroutines |
| Networking | Retrofit, REST API (TMDB) |
| Local Storage | Room Database |
| Navigation | Fragments, Navigation Component |
MovieBox is built following industry-standard Android development principles:
- MVVM Pattern: Separation of concerns between UI (Fragments/Activities) and business logic (ViewModels).
- Asynchronous Programming: Non-blocking network operations managed efficiently via Kotlin Coroutines.
- Data Layer: Single source of truth combining remote data from Retrofit and local caching via Room.
- UI Safety: Safe view management using ViewBinding to prevent memory leaks and null-pointer exceptions.
The app integrates with the official TMDB API to fetch:
- Trending and Popular movie feeds
- Top-rated movie rankings
- Comprehensive movie details and search results
