Light mode | Dark mode |
---|---|
App have features :
* Trending Videos
* Search with Query history
App works perfectly but There is one issue (not on my side).
Youtube API doesnt support any views only iframe which is not so much supported by Android TV.
I can like open video and play it but not so much add my own features like comment or like.
That cuts many of future features that I would implement.
Only few external like share and title with redirrection to Youtube App.
I have decided to cut external app opening but I wont be able to remove Share button.
Iframe issue I was regarding to
Almost all classes are covered (1.0.0 status)
Excluding generated files, mappers and models etc.
-
Install Android Studio according to tutorial
-
Download necessary SDK tools
-
Configure Android emulator or connect external device
-
Clone repository from button ' <> Code '
-
Remove ' include(":playground") ' from settings.gradle.kts
- I added Playground module ( as ignored ) for experimental libraries to test out.
-
Recreate NetworkConst.kt file with Your API key
package com.mobile.pablo.networking.const object NetworkConst { const val YOUTUBE_KEY = "Get key from https://developers.google.com/youtube/v3/getting-started" }
-
Sync project with Gradle
-
Click an build button : )
Config files based on Kotlin DSL.
Dependencies in TOML file
They are updated via plugin version-catalog-update-plugin
To update run a command
./gradlew versionCatalogUpdate
I added also a Kover for Unit test Coverage
To check coverage run :
./gradlew koverVerifyDebug koverXmlReportDebug
To fix lint issues run :
./gradlew ktLintFormat
Jira
at Youtube Jira
Qase at Youtube Qase
CI (primary) | |
---|---|
CD (staging) | |
CD (deploy) |
Firebase App Distribution | |
---|---|
Jira | |
Crashlytics | |
Qase (to be improved) | |
Kover - Unit tests coverage |
App new releases only will be internal for Youtube Privacy Law.
Non less it still uses CD - Deploy workflow only not for production
- Add Playlists
- Add Settings
- Add Profile Screen
I implemented and used 60 - 30 - 10 rule for this design
Implementation based on Youtube TV Design