Skip to content

s0oraj/Flixzilla

Repository files navigation

Flixzilla screenshots

Flixzilla - Netflix Clone Application

A comprehensive Netflix clone application built with native Android Java for streaming movies and TV shows. Powered by TMDB database for content delivery.

Download & Try

Download APK

Features

  • Movies & TV Shows: Browse and stream latest content with detailed information
  • Cast Information: Detailed cast profiles with biography and filmography
  • Trailers: Watch trailers and previews
  • Smart Search: Find content easily with advanced search functionality
  • Favorites: Save and manage favorite content locally
  • Recommendations: Get personalized content recommendations
  • Streaming: Built-in video streaming capabilities
  • Responsive UI: Smooth, Netflix-style user interface

Screenshots

Flixzilla screenshots

Technical Architecture

Core Components

  • Fragment-based architecture with dedicated fragments for Movies, Series, Search, and Favorites
  • MVVM (Model-View-ViewModel) pattern implementation
  • Room Database for local storage and caching
  • Retrofit for TMDB API integration
  • Bottom navigation system for main app navigation

Network & Data Layer

  • API Integration: RESTful architecture using Retrofit
  • Local Storage: Room Database implementation for favorites
  • Image Handling: Efficient image loading and caching with Glide
  • Data Models: Comprehensive models for movies, shows, and cast
  • Error Handling: Robust error management with retry mechanisms

UI Components

  • RecyclerView: Multiple custom adapters for different view types
    • MovieBriefSmallAdapter
    • SeriesBriefSmallAdapter
    • MovieCastsAdapter
    • TrailerAdapter
  • Dynamic Layouts:
    • CollapsingToolbarLayout for immersive details pages
    • GridLayoutManager for content grids
    • LinearLayoutManager for horizontal scrolling lists
  • Custom Views:
    • AVLoadingIndicatorView for loading states
    • WebView implementation for streaming
    • BottomNavigationView for main navigation

Key Features Implementation

Content Management

  • Paginated content loading
  • Dynamic content updates
  • Comprehensive filtering and sorting
  • Genre-based categorization

Cast System

  • Detailed cast member profiles
  • Biography with expandable text
  • Age calculation system
  • Complete filmography listing
  • TV show appearances

Video Integration

  • Trailer playback support
  • Streaming capability
  • Custom video player integration
  • Quality selection options

User Experience

  • Smooth transitions and animations
  • Progress indicators
  • Error state handling
  • Pull-to-refresh functionality
  • Infinite scrolling

Libraries Used

  • Network:

    • Retrofit: REST API client
    • OkHttp: HTTP client
    • Gson: JSON parsing
  • UI & Image:

    • Glide: Image loading and caching
    • RecyclerView: List handling
    • Material Design Components
    • AVLoadingIndicatorView: Loading animations
  • Database:

    • Room: Local data persistence
    • SQLite: Database engine
  • Architecture:

    • ViewModel
    • LiveData
    • Fragment Navigation

API Integration

  • TMDB (The Movie Database) API for content
  • Real-time data synchronization
  • Comprehensive error handling
  • Rate limiting management

Future Enhancements

  • User authentication system
  • Offline content support
  • Enhanced video player features
  • Social sharing capabilities
  • Personal watchlist

Development Setup

  1. Clone the repository
  2. Add your TMDB API key in Constants.java
  3. Build and run the project

License

This project is licensed under the MIT License - see the LICENSE file for details

Contact

For any queries or suggestions, feel free to reach out.


Built with ❤️ by s0oraj

About

A Netflix clone application to watch latest movies and TV shows. Powered by TMDB database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages