Bu proje, kullanıcıya özel kitap önerileri sunan, çok katmanlı bir sistemdir. Amazon EC2 üzerinde çalışan özel bir sunucu, React ile geliştirilmiş modern bir web arayüzü ve Firebase servisleriyle entegre edilmiş Android (Kotlin) tabanlı bir mobil uygulamadan oluşmaktadır.
Projenin Amacı, kitap keşfini kolaylaştırmak, kullanıcı etkileşimini artırmak ve düzenli okuma alışkanlığını teşvik eden bir dijital deneyim sunmaktır.
- Amazon EC2 üzerinde çalışan özel bir Node.js sunucusu kuruldu.
- Rate Limit ile istekler sınırlandı. Server güvenli hale getirildi.
- Kitap verileri burada barındırılır ve istemciler buradan veri çeker.
- Express.js altyapısıyla geliştirilmiş RESTful API yapısı oluşturuldu.
- React kullanarak modern, bileşen tabanlı bir kullanıcı arayüzü geliştirildi.
- Kategorilere göre filtreleme, detay görüntüleme ve öneri sistemi bu arayüzde mevcuttur.
- Kotlin dili ile modern, kullanıcı dostu arayüz geliştirildi.
- Uygulama, EC2 sunucusundan kitap verilerini çekecek şekilde tasarlandı.
- Kullanıcılar kitap arayabilir, detaylara ulaşabilir ve öneri alabilmektedir.
- Firebase Authentication, Firestore ve FCM sistemleriyle tamamen entegredir.
- Firebase Authentication ile e-posta ve şifre kullanılarak kullanıcılar kayıt olabilir ve giriş yapabilmektedir.
- Giriş sonrası her kullanıcıya özel veri alanları Firestore üzerinde açılmaktadır.
- Uygulamada aşağıdaki kimlik doğrulama özellikleri de sunulmaktadır:
- 📩 E-posta doğrulama: Kayıt sonrası kullanıcıdan e-posta adresini onaylaması istenir.
- 🔑 Şifre sıfırlama: Şifresini unutan kullanıcılar için sıfırlama bağlantısı e-posta ile gönderilir.
- 🔐 Tüm bu işlemler Firebase altyapısı ile güvenli ve kullanıcı dostu bir şekilde gerçekleşir.
- Kullanıcılar kitapları favorilerine ekleyebilir.
- Kullanıcılar, Favoriler sayfasından kitaplara ulaşabilir ve favorilerden kaldırabilmektedir.
- Firestore güvenlik kuralları sayesinde her kullanıcı yalnızca kendi verilerine erişebilir.
- Firebase Cloud Messaging (FCM) ile kullanıcıya bildirim gönderim sistemi hazırlandı.
- Ayrıca kullanıcılar kendilerine okuma hatırlatıcıları kurabilmektedir:
- Bildirim saatini seçebilir.
- Kurulan hatırlatıcıları güncelleyebilir veya silebilir.
- Bildirimler otomatik olarak belirtilen saatte gösterilir.
- Seçilen kategori üzerinden rastgele bir kitap önerilmektedir.
- Önerilen kitabın detayları gösterilir ve kullanıcı kitabı beğendiyse favorilere ekleyebilmektedir.
- Yazılan sorguya göre kitaplar filtrelenerek anlık gösterilir.
- Tıklanan kitaplar detaylı bilgi ekranında alt sayfa (BottomSheet) olarak açılır.
- Belirli bir saate kitap okuma hatırlatıcıları kurma, düzenleme ve silme özellikleri.