Android App

The Movie App

View Code
The Movie App home screen

Native movie browser powered by the TMDB API

The Movie App is a modern Android application built with Jetpack Compose that leverages the TMDB API to showcase popular, now playing, and top-rated movies. It features a clean Material 3 design, seamless navigation, and user preference management using DataStore.

Single Activity

All navigation handled within one MainActivity using Navigation Compose.

Manual DI

A DefaultAppContainer provides services and repositories without heavy frameworks.

This app demonstrates a full client-server Android workflow: fetching real movie data from the TMDB REST API, rendering it with a reactive Compose UI, and persisting user preferences with DataStore — all wrapped in a clean MVVM architecture with type-safe navigation.

Core Features

  • Browse Popular, Now Playing, and Top Rated movie sections
  • Search the full TMDB database with real-time results
  • Detailed movie view with backdrops, posters, ratings, and overviews
  • Customizable profile with display name, bio, and favorite genre
  • Theme mode (System, Light, Dark) and default category settings
  • Preferences persist locally via Jetpack DataStore

Screenshots

Poster

Poster

Movie poster with title, rating, and release date.

Home

Home

Popular, Now Playing, and Top Rated movie sections.

Search

Search

Real-time movie search across the TMDB database.

Movie Details

Movie Details

Backdrops, ratings, and full plot overview.

Settings

Settings

Theme mode and default category preferences.

Profile

Profile

Custom display name, bio, and favorite genre.

Specifications

Language

Kotlin 2.2.10

Architecture

MVVM + Repository

Interface

Jetpack Compose (M3)

Networking

Retrofit & OkHttp

Storage

Jetpack DataStore

Min / Target SDK

API 24 / 37

Core Components

Home (Popular / Now Playing / Top Rated)
Search Screen
Movie Details View
Settings Screen
Profile Screen
Retrofit Service + DTOs
DataStore Preferences

Tech Stack

KotlinJetpack ComposeMaterial 3RetrofitOkHttpCoilDataStoreNavigation ComposeViewModelCoroutines & FlowKotlinx Serialization
View full README