SkillAgentSearch skills...

BESTV

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.

Install / Use

/learn @marcuspimenta/BESTV

README

BESTV

Kotlin Version

<img src="/app/src/main/res/drawable/app_icon.png" align="left" hspace="20" height="150" width="150">

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.

<br />

https://github.com/user-attachments/assets/1b5f0e90-494d-43ae-bc94-110370db3cf7

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. <br>

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

Features

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

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.

<p align="center"> <img src="dependency_graph/dependency_graph.png"> </p>

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.
View on GitHub
GitHub Stars66
CategoryContent
Updated22h ago
Forks22

Languages

Kotlin

Security Score

85/100

Audited on Mar 31, 2026

No findings