Firebase Authentication ve Firestore database'lerini kullanıp
kullanıcıların uygulamaya kayıt olarak kitaplığındaki kitapları kayıt etme işlemleri
1- Navigation component ile fragment kullanımı
2- Login,register,forgot password ve change password işlemleri için firebase authentication kullanımı
3- Kitap ekleme ve eklenen kitapları listeleme işlemleri için firebase firestore kullanımı
4- Kitap listesindeki item'lara tıklanınca o kitapın detay özelliklerini göstermek için detay ekranına gitme işlemi
5- Kitap listesinde kitabın ismine göre arama yapma işlemi
6- Firebase'de bulunan en çok okunan kitapların listesini kullanıcılara önerme işlemi
- Kullanıcı işlemleri için Firebase Authentication,
- Database işlemleri için Firebase Firestore,
- Tasrım widget'larına erişmek için ViewBinding,
- Veri akışını yönetmek için LiveData, arayüz durumunun yönetimi için UIState,
- Fragmentlar arası geçiş ve veri göndermek için Jetpack Navigation component,
- Model olarak MVVM,
- Repository ve ViewModel bağlantısı için Use Cases,
- Asenkron işlemler için Coroutine
- Bağımlılık yönetimi için Dagger - Hilt
- Veri aktarımı için serializable kullandım.
- Plugin id 'com.google.gms.google-services' id 'androidx.navigation.safeargs.kotlin' id 'dagger.hilt.android.plugin' id 'kotlin-kapt' - build.gradle(:app) //firebase bom implementation platform('com.google.firebase:firebase-bom:32.0.0') //firebase analytics implementation 'com.google.firebase:firebase-analytics-ktx' //firebase auth implementation 'com.google.firebase:firebase-auth-ktx' //firebase firestore implementation 'com.google.firebase:firebase-firestore-ktx' //recyclerview implementation("androidx.recyclerview:recyclerview:1.3.0") //mvvm implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1" //navigation component implementation("androidx.navigation:navigation-fragment-ktx:$nav_version") implementation("androidx.navigation:navigation-ui-ktx:$nav_version") //dagger - hilt implementation "com.google.dagger:hilt-android:2.44" kapt "com.google.dagger:hilt-compiler:2.44" //coroutines implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4' - build.gradle(:project) def nav_version = "2.5.3" classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" classpath 'com.google.gms:google-services:4.3.15' classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44'
- Firebase Authentication
- Firebase Firestore
- Coroutines
- Dagger-Hilt
- Use Cases
- RecyclerView
- LiveData Overview
- Fragment & Fragment View lifecycle
- Activity lifecycle
- ViewModel and ViewModel lifecycle
- Learn Jetpack Navigation - Codelab
- Filterable