Skip to content

Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.

Notifications You must be signed in to change notification settings

marcuspimenta/BESTV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BESTV

Kotlin Version

Android TV App powered by TMDb

It is a easy way to find the best TV content, the top movies, tv shows and more, all of that in your TV. The goal of the project is to be a guide line about Android TV, showcasing modern Android TV development using Jetpack Compose for TV. The project also uses the popular libraries and tools from the Android ecosystem with a focus on declarative UI and reactive programming.


Screen_recording_20251127_205508.mp4

Project

Tech-stack

This project uses the popular libraries and tools from the Android ecosystem.

API Documentation

BESTV uses the version 3 of The Movie Database (TMDb) API. You can find all the documentation about the requests and the responses responses there.

API Keys

BESTV uses The Movie DB API in order to fetch all the data, but is not endorsed or certified by TMDb. To be able to run this application you have to create an API KEY from The Movie DB and place it in your gradle file.

buildConfigField "String", "TMDB_API_KEY", "YOUR API KEY HERE"

Features

  • Show the top movies and tv shows
  • Show the top movies and tv shows by genre
  • Details about a work including the casts, the videos, the similar and recommended works
  • Details about a cast including the credits
  • Search the movies and the tv shows by title

Recent Updates

  • ✅ Migrated from Leanback library to Jetpack Compose for TV
  • ✅ Adopted MVI (Model-View-Intent) architecture pattern
  • ✅ Replaced RxJava/RxAndroid with Kotlin Coroutines and Flow
  • ✅ Updated UI layer to use declarative Compose components
  • ✅ Migrated from Dagger to Koin for dependency injection

Modules

The app is modularized. We can see the dependency graph with all the modules.

References

Licence

Copyright (c) 2018 Marcus Pimenta

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.