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








