- MVVM
- Firebase (Auth)
- Navigation
- Dependency Injection | Hilt
- Coroutines
- Retrofit
- Room Db
- View Binding
- Chucker
- Glide
- SDP/SSP Library
For animation : Lottie used
For icon (Favorite and Cart Screen) : Flat Icon
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.9.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
// SSP-SDP
implementation("com.intuit.ssp:ssp-android:1.1.0")
implementation("com.intuit.sdp:sdp-android:1.1.0")
// Navigation
val navVersion = "2.7.2"
implementation("androidx.navigation:navigation-fragment-ktx:$navVersion")
implementation("androidx.navigation:navigation-ui-ktx:$navVersion")
// Lottie
implementation("com.airbnb.android:lottie:5.2.0")
// Retrofit
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
// GLide
implementation("com.github.bumptech.glide:glide:4.15.1")
// Hilt
implementation("com.google.dagger:hilt-android:2.47")
ksp("com.google.dagger:hilt-compiler:2.47")
// Firebase
implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
implementation("com.google.firebase:firebase-auth-ktx")
// Chucker
implementation("com.github.chuckerteam.chucker:library:4.0.0")
// Coroutines
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
// Room
implementation("androidx.room:room-runtime:2.5.2")
ksp("androidx.room:room-compiler:2.5.2")
implementation("androidx.room:room-ktx:2.5.2")
}
app build.gradle:
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("androidx.navigation.safeargs.kotlin")
id("dagger.hilt.android.plugin")
id("com.google.gms.google-services")
id("com.google.devtools.ksp")
}
buildFeatures {
viewBinding = true
}
project build.gradle:
plugins {
id("com.android.application") version "8.1.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("com.google.gms.google-services") version "4.3.15" apply false
id("androidx.navigation.safeargs") version "2.7.2" apply false
id("com.google.dagger.hilt.android") version "2.47" apply false
id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
}