Adım Adım CRUD Uygulaması: Öğrenmenin En Hızlı Yolu
26.07.2026 · 3 dk okuma · 1 okunma
CRUD uygulaması, yazılım öğrenmenin en verimli alıştırmasıdır. Basit görünür; oysa içinde veri modelleme, form işleme, doğrulama, yetkilendirme, listeleme, arama ve hata yönetimi vardır. Bu yazıda örnek olarak basit bir "cihaz zimmet takibi" uygulamasını adım adım kuruyoruz.

Adım 1: Veri modelini belirleyin
Ekran çizmeden önce hangi bilgiyi sakladığınıza karar verin. Zimmet takibi için asgari alanlar: cihaz adı, seri numarası, kategori, zimmetlenen kişi, zimmet tarihi, durum ve not.
Her alan için üç soruyu cevaplayın: zorunlu mu, hangi tipte, benzersiz olmalı mı? Seri numarası benzersiz olmalıdır; zimmetlenen kişi boş olabilir (depoda bekleyen cihaz); durum ise serbest metin değil sınırlı bir listeden seçilmelidir.
Ayrıca her tabloya oluşturma ve güncelleme zamanı ile kaydı oluşturan kullanıcı bilgisini ekleyin. Bu üç alan sonradan mutlaka gerekir ve baştan eklenmesi bedavadır.
Adım 2: Listeleme ekranı
İlk yazılacak ekran listedir; çünkü diğer her şeyin sonucu burada görünür. İyi bir liste ekranı şunları içerir:
- Sayfalama: tüm kayıtları tek seferde çekmeyin.
- Arama: en az cihaz adı ve seri numarası üzerinde.
- Filtre: duruma ve kategoriye göre.
- Sıralama: en yeni kayıt üstte olacak şekilde varsayılan sıra.
- Boş durum mesajı: hiç kayıt yokken kullanıcıya ne yapacağını söyleyin.
Listede ilişkili bilgileri gösterirken (örneğin zimmetlenen kişinin adı) her satır için ayrı sorgu çalıştırmaktan kaçının; ilişkili veriyi tek sorguda birleştirin.
Adım 3: Ekleme formu ve doğrulama
Form basit görünür ama doğrulama katmanı burada kurulur. Kural nettir: tarayıcı doğrulaması kullanıcı için, sunucu doğrulaması güvenlik içindir. İkisi de olmalıdır.
Doğrulama hataları oluştuğunda kullanıcının girdiği veriler kaybolmamalı, hata mesajları ilgili alanın yanında gösterilmelidir. "Bir hata oluştu" mesajı, kullanıcıyı hangi alanı düzelteceği konusunda yalnız bırakır.
Ek olarak, formdan gelen alanları körlemesine kaydetmeyin. Yalnızca izin verilen alanlar yazılmalıdır; aksi hâlde kullanıcı, forma olmayan bir alan ekleyerek yetki seviyesi gibi hassas verileri değiştirebilir.
Adım 4: Güncelleme
Güncelleme, ekleme formunun kayıtla doldurulmuş hâlidir; ancak iki fark vardır. Birincisi, benzersizlik kontrolü kendi kaydını hariç tutmalıdır: bir cihazın seri numarasını değiştirmeden kaydettiğinizde "bu seri numarası zaten var" hatası almamalısınız.
İkincisi, aynı kaydı iki kullanıcı aynı anda düzenlerse ne olacağı düşünülmelidir. Basit uygulamalarda son kaydeden kazanır; ancak kritik verilerde kaydın son güncelleme zamanı forma gizli alan olarak konularak çakışma tespit edilebilir.
Adım 5: Silme
Silme, geri dönüşü olmayan tek işlemdir; bu yüzden en dikkatli tasarlanması gereken adımdır. İki önlem gerekir: onay adımı ve tercihen yumuşak silme. Kaydı gerçekten silmek yerine silindi olarak işaretlemek, yanlışlıkla yapılan işlemleri geri alınabilir kılar.
Ayrıca ilişkili kayıtların ne olacağına karar verilmelidir. Zimmet geçmişi bulunan bir cihaz silindiğinde geçmiş kayıtlar ne olacak? Genellikle doğru cevap, silmeyi engellemek veya kaydı pasife almaktır.
Adım 6: Yetkilendirme
Her işlemde iki soru sorulmalıdır: bu kullanıcı bu işlemi yapabilir mi ve bu kayda erişebilir mi? İkinci soru daha sık atlanır. Kullanıcı adres satırındaki numarayı değiştirerek başka bir birimin cihazını düzenleyebiliyorsa, ekrandaki düğmeleri gizlemenin bir anlamı yoktur.
Yetki kontrolünü tek bir yerde toplayın. Her ekranda ayrı ayrı yazılan kontroller, zamanla birbirinden ayrışır ve bir tanesi mutlaka unutulur.
Adım 7: Hata durumlarını düşünmek
Uygulamayı acemi işi olmaktan çıkaran şey, işlerin yolunda gittiği durum değil ters gittiği durumlardır. En az şu dört senaryo düşünülmelidir: kayıt bulunamadığında ne gösterilecek, veritabanı hatası oluştuğunda kullanıcıya ne söylenecek, aynı form iki kez gönderilirse ne olacak ve oturum süresi dolduğunda kullanıcı nereye yönlenecek?
Çift gönderim özellikle sık görülür: kullanıcı kaydet düğmesine iki kez basar ve iki kayıt oluşur. Basit çözüm, gönderim sonrası düğmeyi devre dışı bırakmak ve kaydetme işleminden sonra listeye yönlendirmektir. Yönlendirme yapılmadığında, kullanıcının sayfayı yenilemesi formu tekrar gönderir.
Bu tür ayrıntılar için resmî belgeler iyi bir rehberdir; örneğin form ve doğrulama davranışları için MDN form rehberi incelenebilir.
Adım 8: Bitirici dokunuşlar
Uygulamayı gerçek hissettiren küçük ayrıntılar: işlem sonrası bilgilendirme mesajı, kaydettikten sonra listeye dönüş, arama sonucunda kaç kayıt bulunduğunun gösterilmesi, tarih alanlarının yerel biçimde gösterimi ve dışa aktarma seçeneği. Bunlar teknik olarak zor değildir ama kullanıcı deneyimini belirgin biçimde yükseltir.
Sonuç
Bir CRUD uygulamasını uçtan uca bitirmek, onlarca konu başlığını tek başına okumaktan daha öğreticidir. Veri modeliyle başlayın, listeyi kurun, formu doğrulamayla yazın, silmeyi geri alınabilir yapın ve yetkiyi merkezîleştirin. Bu iskelet öğrenildiğinde, karşılaştığınız her yeni proje aynı yapının bir varyasyonu olarak görünmeye başlar.
Sık Sorulan Sorular
Create (oluştur), Read (oku), Update (güncelle), Delete (sil) işlemlerinin baş harfleridir. Neredeyse tüm veri odaklı uygulamalar bu dört işlemin üzerine kurulur.
Hayır. Tarayıcı doğrulaması kullanıcı deneyimi içindir ve kolayca atlanabilir. Sunucu tarafında doğrulama zorunludur; aksi hâlde geçersiz veya kötü niyetli veri doğrudan veritabanına girer.
Çoğu iş uygulamasında kaydı gerçekten silmek yerine "silindi" olarak işaretlemek (yumuşak silme) daha doğrudur. Böylece yanlışlıkla yapılan silmeler geri alınabilir ve geçmiş raporlar bozulmaz.
Genellikle 20-50 arası yeterlidir ve mutlaka sayfalama olmalıdır. Tüm kayıtları tek sayfada listelemek, veri büyüdüğünde hem sunucuyu hem tarayıcıyı kilitler.