Skip to content

Movio is a modern Android app built with Jetpack Compose and Kotlin. It offers fast search, recommendations, trailer previews, multi-language support, and offline browsing. Powered by MVVM + Hilt with Firebase integration.

Notifications You must be signed in to change notification settings

MadridSquad/Movio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,599 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Movio - Your Ultimate Entertainment Companion

Platform Language UI Architecture DI

A modern Android app built with Jetpack Compose for browsing and watching series. It includes detailed series information, seasons, and episodes.

πŸš€ Features

🎯 Smart Movie Discovery

  • Personalized Recommendations: Intelligent suggestion engine based on viewing history and preferences
  • Episode Trailers: Seamless trailer integration for TV shows and movie series

πŸ” Enhanced Search & Browse

  • Real-time Search: Lightning-fast movie and TV show search with auto-suggestions
  • Trending Content: Stay updated with what's popular worldwide

πŸ“± Modern User Experience

  • Jetpack Compose UI: Fluid, responsive interface
  • Dark/Light Theme: Automatic theme switching based on system preferences
  • Offline Support: Browse previously viewed content without internet connection
  • Localization Support: Multi-language experience with language selection based on user preferences

πŸ” Robust Backend Integration

  • Firebase Analytics: Comprehensive user behavior tracking
  • Crash Reporting: Real-time crash monitoring with Firebase Crashlytics

πŸ—οΈ Enterprise-Grade Architecture

  • Clean Architecture: Separation of concerns with Domain-Data-Presentation layers
  • Dependency Injection: Hilt-powered DI for testable, maintainable code
  • Modular Design: Feature-based modules for scalability

πŸ› οΈ Tech Stack

  • Language: Kotlin
  • Android SDK
  • Work Manager
  • Paging 3
  • UI Framework: Jetpack Compose
  • Architecture: MVVM + Clean Architecture
  • Dependency Injection: Hilt (Dagger)
  • Build System: Gradle
  • Navigation: Compose Navigation
  • Networking: Retrofit + OkHttp
  • Image Loading: Coil
  • Async Programming: Coroutines + Flow
  • Database: Room
  • Testing: JUnit, MockK, Truth

πŸ—οΈ App Architecture

The app follows Clean Architecture principles with MVVM pattern and Modularization for robust, scalable, and testable code:

Modular Architecture (By Presentation/Data/Domain)

simple

πŸ“¦ Module Overview

The app is structured using a multi-module architecture to promote separation of concerns, improve build performance, and enable better team collaboration. Each module has specific responsibilities:

🎯 Core Modules

:app - Main Application Module

Responsibilities:

  • Application entry point and initialization
  • Hilt dependency injection setup
  • Activity hosting for navigation
  • App-level configuration and permissions

:presentation - UI Layer Module

Responsibilities:

  • Jetpack Compose UI screens and components
  • MVVM ViewModels for state management
  • Navigation between screens
  • UI state handling and user interactions
  • Screen-specific business logic

:domain - Business Logic Module

Responsibilities:

  • Pure business logic implementation
  • Use cases for complex operations
  • Domain models and entities
  • Repository interfaces (contracts)
  • Business rules and validations

:data

Responsibilities:

  • Repository pattern implementation
  • API integration with Retrofit
  • Local database with Room
  • Data transformation and mapping
  • Caching strategies and offline support

:designSystem - UI Design System Module

Responsibilities:

  • Consistent UI component library
  • Reusable Compose components
  • Design tokens and guidelines
  • Cross-module UI consistency

πŸ“‹ Prerequisites

  • Android Studio Narwhal (2025.1.2) or later
  • JDK 11 or higher
  • Android SDK 24 or higher
  • Git

πŸ”§ Setup Instructions

1. Clone the Repository

git clone https://github.com/MadridSquad/Movio.git
cd movio-android

2. Create Configuration Files

Create a secrets.properties file in the root directory:

# API Configuration
BASE_URL="your_api_base_url"
API_KEY="your_api_key"

3. Add Local Properties (if needed)

Update local.properties with your Android SDK path:

sdk.dir=/path/to/your/Android/Sdk

4. Build and Run

  1. Open the project in Android Studio
  2. Sync the project with Gradle files
  3. Build the project (Build > Make Project)
  4. Run on device or emulator (Run > Run 'app')

5.πŸ“± Running the App

  1. Enable USB debugging and connect your physical device
  2. Create an Android Virtual Device (AVD) with API level 24 or higher
  3. Choose between debug and release builds from the Build Variants panel

πŸ“Έ Screenshots

OnboardingSplashLoginHomeSearch
OnboardingSplashLoginHomeSearch
LibraryProfileMovie detailsSubmit ratingSharing
LibraryProfileMovie detailsSubmit ratingSharing
Actor detailsloading dataCurrent seasonsMy ratingsReviews
Actor detailsloading dataCurrent seasonsMy ratingsReviews
Series detailsSimiler seriesTop castSupporting arabic languageLight theme
Series detailsSimiler seriesTop castSupporting arabic languageLight theme

πŸ‘₯ Contributors

Thanks goes to these amazing people for their contributions πŸ’–

fatimafaisalghazi
fatimafaisalghazi
baraa0abd
baraa0abd
ahmedhgabr
ahmedhgabr
yousef-osama11
yousef-osama11
Mohamedragabali
Mohamedragabali
tasneem-hakeem
tasneem-hakeem
yasserahmed10
yasserahmed10
Alaakhaled101
Alaakhaled101
karrar-abbas
karrar-abbas
AmrNasserSaad
AmrNasserSaad
Ahmedsayed0895
Ahmedsayed0895
Mohammed-qmr
Mohammed-qmr
MostafaMohamed2002
MostafaMohamed2002
mahmoudkhai
mahmoudkhai
Mousaber00
Mousaber00
YaseenOmar
YaseenOmar

About

Movio is a modern Android app built with Jetpack Compose and Kotlin. It offers fast search, recommendations, trailer previews, multi-language support, and offline browsing. Powered by MVVM + Hilt with Firebase integration.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

Languages