Skip to content

code-n-roll/MovieViewer

Repository files navigation

Features

DONE:

  • fetch movies by category with paging (network + database)
  • favorites movies with sorting (database)
  • localization (EN, RU)
  • light/dark/system default theme (datastore)

TODO:

  • movie details
  • movie search
  • register/login (local db)
  • register/login (remote api)
  • built-it player

Tech practice

DONE:

  • Work with databases, datastore
  • MVVM Compose + Hilt + Jetpack Compose Navigation
  • Work with paging
  • ELM implementation in Compose
  • Multimodule architecture
  • Add build convention plugins to manage dependencies versions in multimodule architecture (based on this series of articles https://habr.com/en/companies/tbank/articles/846340/)

TODO:

  • unit testing
  • UI testing

Tech Stack

Language/async:

  • Kotlin
  • Coroutines/Flow

UI:

  • MVVM (Jetpack ViewModel + Flow + single state)
  • Compose UI
  • Jetpack Compose Navigation 2

Data:

  • Room/DataStore
  • Retrofit/OkHttp
  • kotlinx.serialization

DI:

  • Hilt

Others:

  • Jetpack Paging 3
  • Coil

Screenshots

How to setup

  1. Create local.properties in project root
  2. Create API_KEY https://www.themoviedb.org/settings/api
  3. Add API_KEY = <your_api_key> to local.properties

API

TMDB API - https://developer.themoviedb.org/reference/intro/getting-started

About

Android client based on TMDB API to playground with modern android tech stack - 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages