Backend tarafı için güzel fikirlere ihtiyacım var. Bu başlık altında birden fazla soru sorabilirim, umarım sorun olmaz 😀 İlk misalle başlayayım. Mesela uygulamada instagram'daki gibi bir takipleşme sistemi kurmak istiyorum. Veritabanında nasıl yapmalıyım bu takip işlemlerini?

İlk aklıma geleni yazayım. Düzelte düzelte mükemmelleştirmeye çalışalım. Takiple alakalı bir tablom olsun veritabanında. Takip etmek isteyenin id'si, takip edilecek kişinin id'si ve onay olarak üç kolonumuz olsun. İlk durumda onay kısmı "Beklemede" şeklinde otomatik olarak doldurulsun. Eğer kullanıcı takibi kabul ederse "Onaylandı", reddedildiyse "Onaylanmadı" şeklinde güncellensin.

Buna eklenebilecek bir şeyler var mı sizce? Bunu sormamın sebebi bu fikir aşaması tam olarak tamamlanmış olsun. Kodlamaya döktüğümde şöyle olsaydı, böyle olmalıydı gibi ekstra iş çıkarmasın başıma. Gerçekten çok bunaltıcı olabiliyor böyle olduğunda 😁

Takip ile ilgili konuşmuştun en son.Takip isteklerinin kabul edilip edilmemiş olmasıyla ilgili bir tablo açabilirsin. Bu tabloda isteği gönderen, isteğin gönderildiği, durumu ve tarihi bulunabilir. Madem konu açtık Veri tabanı ile ilgili göz ardı edilen bir iki konuyada da değineyim.
Çok önemli konulardan biri kaydın açıldığı tarih ve güncellendiği tarihi DB'de tutmamak. Her ne işlem yapılırsa yapılsın ne zaman başladığı ve ne zaman güncellendiği bence kayıt edilmeli. Bunun nedenini büyük DBlerle çalıştıkça daha iyi anlıyoruz.
Bunun yanında da asla veriler silinmemeli. Her zaman aktiflik ve pasiflik özelliği olmalı diye düşünüyorum. Buda Veri kaybını önlemek amaçlı.

YunusEmre

Flutter bence takip istediğinin ne zaman geldiğini ne zaman kabul edildiğini bulabilmek için kayıt zamanı eklenmeli

hasimyil Kesinlikle. Böylelikle kullanıcı isteği kabul ettiğinde crone çalışacağı zaman bildirim gönderilebilecek.

    Konu dışında hangi veritabanını kullanmayı düşünüyorsun

    hasimyil Firebase güzel aslında. Ama aklımdaki proje için firebase'de veritabanını oluşturup kullanmak çok zor geliyor bana. Firebase'i authentication için kullanmayı düşünüyorum. Diğer veriler içinse mssql kullanacam sanırım. Asp.Net Core la uğraşıyordum flutter'a başlamadan önce. Bir tane web service yazarım büyük ihtimalle.

    YunusEmre İlk aklıma geleni yazayım

    Tablo ilişki şeması ile ilgili aklında bir şey var mı ?

    admin Hala karar verme aşamasındayım hocam. Bir diyorum firebase'le olmaz. Sonra diyorum firebase'le daha hızlı mı hazırlarım acaba. Firebase'nin nosql bir veritabanı olması güzel aslında. Bir kaydın içine ihtiyacın olan tüm verileri koyarak çalışmak güzel geliyor. Firebase'de Flutter tarafı için gözümü korkutan kısım farklı koleksiyonlardaki verileri aynı sayfa içerisinde çağırıp bir kontrol yaptırmak.

    Gerçekten çok kararsız kaldım. İlişkili veritabanı kullanmak da güzel ama ilişkili veritabanıyla oluşturduğum web servisi canlıya almayla uğraşmam gerekecek. Firebase'in Flutter'a entegrasyonu gerçekten kolay. Sen olsan nasıl bir yol çizerdin?

    YunusEmre Sen olsan nasıl bir yol çizerdin?

    Ben firebase bir türlü ısınamadım. Kullanımı çok güzel. Anlık veri değişikliği filan var ama yapısı bizim bildiğimiz mssql yada php'ciler için mysql yapılarından çok farklı. O yüzden ben hala eski kafamdan yürüyüp sql kullanıyorum. Tavsiye edilirmi bilmiyorum ama. Zira firebase daha hızlı çalışıyor ve anlık veri gösterme olayını çok beğeniyorum 🙂

    Takip sistemi için tavsiyelerinizi uyguladım. Teşekkür ederim. Şimdiyse farklı bir şey denemek istiyorum. Deneme olarak veritabanım firebase olacak. Sorum için çok da farketmiyor hangi veritabanını kullandığımız.

    Veritabanında makaleler diye bir tablomuz olsun. Tablomuzun kolonlarından biri de "oyAdeti" olsun. Şimdi istiyorum ki haftalık ve ya aylık olarak en çok oylanan makaleyi seçip uygulamada göstereyim. Bunun için nasıl bir algoritma kullanmalıyım?

      Bunun için sql sorguları ile oynaman gerekiyor. Verileri çekerken "ORDER BY oyAdeti DESC LIMIT 5 " şeklinde bir sorgu kullanırsan en çok oy alan 5 sonucu listelemiş olursun. firebase için ise bir karşılığı vardır bu sorgunun. Ama Mantık olarak bunu kullanabilirsin. Ben haber uygulaması yapıyorum en çok okunan haberleri bu şekilde listeledim

      Write a Reply...