Youtube Trends merupakan aplikasi Submission dari Kelas Menjadi Android Developer Expert Dicoding Indonesia, disini menerapkan prinsip Clean Architecture,
Screenshot
Screenshot
https://github.com/oratakashi/YoutubeTrends/releases/download/1.0/app-debug.apk
- Show Main Youtube Trends
- Show Game Youtube Trends
- Show Music Youtube Trends
- Show Sport Youtube Trends
- Trends Favorite
- Detail Video's with Video's Streaming
- Build with Kotlin and Jetpack ViewBinding
- Android Material with Android SDK version 30.0.3
- Gradle version 4.1.2
- Networking :
- OkHttp
- Retrofit
- RxJava
- SSL Pinning
- Database :
- Room Database
- SQLChiper for Database Encryption
- Kotlin Reflection
- Koin Dependency Injection
- Project Architecture :
- Clean Architecture
- MVVM Design Pattern
- SOLID Principal
- Animation :
- Lottie Animation
- Shimmer Animation
- Module App : Berfungsi untuk Module utama aplikasi, yang berisi Main UI dan beberapa utility
- Module Core : Berfungsi untuk module yang menangani Depedency Injection dan Application Class
- Module Data : Berfungsi sebagai layer data yang berisi :
- Room Database dan Dao
- Kotlin Reflection untuk mapping data dari layer data ke layer domain di Package Magic
- Model untuk layer data
- Network Interface
- Local Repository dan Remote Repository
- Module Domain : Berfungsi sebagai layer domain yang berisi :
- Interactor
- Annotation Class untuk digunakan Kotlin Reflection yang berada di Package Magic
- Model untuk layer domain
- Repository
- State management untuk layer domain
- Usecase
- Module Presentation : Berfungsi sebagai layer presentation yang berisi :
- ViewModel
- Model untuk layer presentation
- Kotlin Reflection untuk mapping data dari layer domain ke layer presentation di Package Magic
- State management untuk layer presentation
- Module Favorite : Merupakan module DFM / Dynamic Feature Module
- Module app :
- proguard-rules.pro : berisi rules untuk keep class-class material dan androidx
- Module core :
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Retrofit
- Gson
- SQLChiper
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Module data :
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Retrofit
- Gson
- SQLChiper
- Kotlin Reflect ( Extended Library untuk reflection di kotlin )
- dan Mengkeep data class di Package Model agar reflection bisa berjalan
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Module domain : - consumer-rules.pro : berisi rules untuk keep class-class library : - Retrofit - Gson - SQLChiper - Kotlin Reflect ( Extended Library untuk reflection di kotlin ) - dan Mengkeep data class di Package Model agar reflection bisa berjalan
- Module Presentation :
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Retrofit
- Gson
- SQLChiper
- Kotlin Reflect ( Extended Library untuk reflection di kotlin )
- dan Mengkeep data class di Package Model agar reflection bisa berjalan
- consumer-rules.pro : berisi rules untuk keep class-class library :
- Module data :
- SQLChiper digunakan di Class RoomDB
- Module core :
- CoreModule : provideHttpClient menggunakan OKHttp
- Anda harus membuat API Key Google Cloud Console pada situs Google Cloud Console
- Masukkan Api Key yang sudah dibuat pada config seperti berikut: core/Config.kt
object Config {
const val key : String = "{{YOUR API KEY}}"
}
- Click menu di menubar Build/Rebuild Project
- Project siap di jalankan
Youtube Trends is created by [Oratakashi](http://github.com/oratakashi)
You can contact me at : oratakashi@oratakashi.com
Youtube Trends Apps is under the [GPL3 License](LICENSE)