Skip to content

🎬 Movies App This is a modular, scalable Movies app built with clean architecture, reusable components, and Firebase integration. The project uses Ktor, Koin, Coil, and Navigation, with a design system module and CI/CD pipeline. Test coverage is enforced via GitHub Actions, and builds are deployed automatically to Firebase App Distribution

Notifications You must be signed in to change notification settings

MostafaMohamed2002/Movio

 
 

Repository files navigation

cover

Movio is an Android app designed for movie and TV enthusiasts. It lets you discover and explore a vast collection of trending films and shows powered by The Movie Database (TMDb) API. With its modern and intuitive interface, Movio makes finding your next watch simple and enjoyable. Whether you’re in the mood for a blockbuster or a hidden gem, Movio is your go-to companion for everything movies and TV.


Architecture

This project is built using Multi-module architecture (modularization by component) by_component (1)

Technologies

Tip

  • Jetpack Compose
  • Room Database
  • Paging3
  • Dagger/hilt
  • Firebase (Analytic & Crashlytics)
  • Firebase ML kit
  • Retrofit & Okhttp
  • Coil
  • Lottie Compose
  • Compose Navigation 2
  • Deep Link

Features

OnBoarding

On Boarding 1 On Boarding 2
Pixel 9 Pro on boarding 2

Authentication

Login Sign up Forget Password
login signup forget password

Note

  • Login: So you can login to your TMDB account.
  • Sign up: So you can create new account if you don't have one yet.
  • Forget Password: So you can easily restore your password if you forgot it.

Home Screen

Home Movies Home Tv Shows Home Categories
home movies home tv shows home categories

Note

  • Top Rating: Displays the top rated movies/tv shows for you.
  • Now Playing: Displays all new movies/tv shows.
  • Upcoming: Displays the new movies/tv shows that are going to be released soon.
  • More Recommended: Displays recommended movies/tv shows based on your taste.

Search

Explore Search Search Results For You
explore search search results for you

Note

  • Displays personalized movies and tv shows based on your previous watch history.
  • Recommend some new trending and top rated movies and tv shows.
  • Auto complete for your search results.
  • Displays the search results for movies, tv shows and actors.

Details Screens

Movie Details:

Displays all the details about the movie and you can share it with your friends.

Movies Details 1 Movie Details 2 Similar Movies
movie details 1 movie details 2 similar movies

Note

  • Basic Details: Displays the movie details and every thing related to it.
  • Similar Movies: Displays similar movies, the actors whom worked in this project.

TV Show Details:

Displays all the details about the tv show and you can share it with your friends.

Tv show details 1 Tv show details 2 Seasons Episodes Similar Tv shows
tv show details 1 tv show details 2 seasons episodes similar tv shows

Note

  • Basic Details: Displays the tv show details and every thing related to it.
  • Similar Movies: Displays similar tv shows, the actors whom worked in this project and also it's seasons.
  • Seasons: You can select easily the season you want to watch.
  • Episode: Displays all the episodes that is inside this season.

Library:

Library (Guest) Library (Logged In) Lists Favorites History
library guest library logged in lists favorites history

Note

  • Displays all of your lists, favorite items and your watch history.
  • Check the lists you have and the items inside of it.
  • Display all of your favorite movies and tv shows.
  • Display your watch history for everything you have watched.

Profile Screen:

Profile (Guest) Profile (Logged In) Theme Switch Language Change
profile guest profile logged in change theme change language

Note

  • You displays your image and user name.
  • Can change the application theme to light or dark.
  • Can switch easily the language of the application to arabic or english.

My Ratings:

Rating Empty Rating filled
rating empty rating filled

Note

  • You can easily know what series or movies you have rated.
  • Easily to remove the item you don't want by swiping it.

Islamic Image Viewer:

Islamic Image Viewer
islamic image viewer

Note

  • AI-driven content detection aligned with Islamic guidelines
  • Intelligent image blurring for sensitive material
  • Coil-based image loading with customizable transformations
  • Adjustable sensitivity settings

Installation

1- Clone the Repository

git clone https://github.com/Cairo-Squad/Movio

2- open the project in android studio. 3- Add the required parameters in local.properties file. Add required properties In the project root, open or create a local.properties file and add the following:

IMAGE_BASE_URL="https://image.tmdb.org/t/p/w500/"
BASE_URL = "https://api.themoviedb.org/3/"
API_KEY = "You Own API Key"

To obtain your YOUR_API_KEY:

  1. Create an account at The Movie Database (TMDB)
  2. Go to Settings → API in your TMDB account
  3. Generate a API Key and paste it as apiKey above.

4- Build and run the project on an emulator or physical device.

Contributors

About

🎬 Movies App This is a modular, scalable Movies app built with clean architecture, reusable components, and Firebase integration. The project uses Ktor, Koin, Coil, and Navigation, with a design system module and CI/CD pipeline. Test coverage is enforced via GitHub Actions, and builds are deployed automatically to Firebase App Distribution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%