FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

oratakashi/YoutubeTrends: Just a litle project for Dicoding Submissions · GitHub

Repository files navigation

Youtube Trends

Youtube Trends merupakan aplikasi Submission dari Kelas Menjadi Android Developer Expert Dicoding Indonesia, disini menerapkan prinsip Clean Architecture,


Screenshot


Screenshot


Download Demo

https://github.com/oratakashi/YoutubeTrends/releases/download/1.0/app-debug.apk

Continuous Integration

Apps Feature:

  • 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

Project Spesification :

  • 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

Project Structure :

  • 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

Obfuscation :

  • 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
  • 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
  • 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

Encryption :

  • Module data :
    • SQLChiper digunakan di Class RoomDB

Certificate Pinning :

  • Module core :
    • CoreModule : provideHttpClient menggunakan OKHttp

Setup

  1. Anda harus membuat API Key Google Cloud Console pada situs Google Cloud Console
  2. Masukkan Api Key yang sudah dibuat pada config seperti berikut: core/Config.kt
object Config {
    const val key : String = "{{YOUR API KEY}}"
}
  1. Click menu di menubar Build/Rebuild Project
  2. Project siap di jalankan

Creator

Youtube Trends is created by [Oratakashi](http://github.com/oratakashi)

You can contact me at : oratakashi@oratakashi.com

License

Youtube Trends Apps is under the [GPL3 License](LICENSE)

About

Just a litle project for Dicoding Submissions

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL