Skip to content

Filmora: Android app for Movies,TV Shows, and Celebs with real-time updates.

Notifications You must be signed in to change notification settings

amir-azari/Filmora

Folders and files

NameName
Last commit message
Last commit date
Dec 7, 2024
Mar 11, 2025
Feb 28, 2025
Feb 2, 2025
Feb 2, 2025
Feb 28, 2025
Dec 2, 2024
Dec 2, 2024
Dec 2, 2024
Dec 2, 2024
Dec 3, 2024

Repository files navigation

Filmora 🎬

Filmora is a modern Android application that provides users with detailed information about movies, TV shows, and celebrities using The Movie Database (TMDB) API. With a clean and modular architecture, along with an engaging user interface, Filmora offers a seamless and up-to-date entertainment discovery experience.

Technologies Used

  • Kotlin: The primary programming language for the app.
  • Architecture Pattern: MVVM (Model-View-ViewModel) combined with a Single Activity approach for streamlined navigation and activity management.
  • Kotlin Coroutines & Flow: For asynchronous programming and data stream management.
  • Jetpack Components:
    • ViewModel
    • LiveData
    • Room Database
    • Navigation Component
    • Paging 3
  • Retrofit: For networking and API calls.
  • Hilt: For dependency injection.
  • Coil: For image loading.
  • Material Design: For UI components and theming.
  • The Movie Database (TMDB) API: For fetching data.

Project Structure

The project follows a clean and modular architecture. Here's an overview of the directory structure:

amir-azari-filmora/
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/azari/amirhossein/filmora/
│   │   │   │   ├── adapter/          # Adapters for RecyclerViews
│   │   │   │   ├── data/             # Data layer (database, network, repository)
│   │   │   │   ├── models/           # Data models and API responses
│   │   │   │   ├── paging/           # Paging sources for pagination
│   │   │   │   ├── ui/               # UI components (activities, fragments)
│   │   │   │   ├── utils/            # Utility classes and extensions
│   │   │   │   └── viewmodel/        # ViewModels for UI logic
│   │   │   └── res/                  # Resources (layouts, drawables, strings, etc.)
│   │   └── test/                     # Unit tests
│   └── build.gradle.kts              # App-level build configuration
├── gradle/                           # Gradle configuration files
└── build.gradle.kts                  # Project-level build configuration

Key Features

Discover and Explore

  • Detailed Information:
    Access comprehensive details about movies, TV shows, and celebrities.

  • Extensive Browsing Options:
    Easily explore various categories including:

    • Movies: Trending, Popular, Upcoming, Now Playing in Theatres, and Top-Rated.
    • TV Shows: Trending, Popular, On TV, Airing Today, and Top-Rated.
  • Advanced Search:
    Quickly find movies, TV shows, and actors with robust search functionality.

Personalized Experience

  • Tailored Recommendations:
    Receive personalized suggestions and "You May Like" recommendations based on your viewing preferences.

  • Profile Management:
    Enjoy a customized experience by managing your favorites, watchlists, and ratings.

Movie and TV Show Details

  • High-Quality Visuals:
    Browse high-resolution poster galleries and immersive backdrop displays.

  • Video Trailers:
    Watch movie trailers seamlessly via YouTube integration.

  • Cast & Crew Information:
    View detailed information about cast and crew members, with clear department categorization (e.g., Acting, Directing, Writing).

  • and ...

Celebrity Career Overviews

  • In-Depth Filmography:
    Explore career overviews with clear categorization between acting roles and production contributions.

  • Department-Specific Contributions:
    Discover detailed contributions in specific areas such as Directing, Writing, Cinematography, etc.

  • Biographical Insights:
    Get essential details including age, birthday, birthplace, and a full biography.

  • Iconic Roles Highlighted:
    Review the "Known For" section that showcases each celebrity’s most memorable roles.

  • Direct Work Connections:
    Easily navigate to the celebrity’s works within the app for a more integrated experience.

Enhanced User Experience

  • Offline Caching:
    Benefit from offline caching to ensure a smooth and uninterrupted user experience.

  • Theme Support:
    Switch between Dark and Light themes according to your preference, enhancing visual comfort in any setting.

  • and ...


Screenshots & Demo

App Screenshots

Login Screen Home Screen Celebrities Screen TV Show Details Screen
📱 Click to Show More Screenshots
Movies Screen TV Shows Screen Search Screen Movie Details Screen People Details Screen Profile Screen Movies Taste Screen Series Taste Screen

Interactive Demos

🎬 Click to View Demos

Authentication & Personalization

Login Demo Movie Preferences Demo Series Preferences Demo

Content Browsing

Home Screen Demo Movie Screen Demo TV Show Screen Demo Celebrities Screen Demo

User Features

Movie Details Demo Profile Screen Demo Search Screen Demo