← Blog
03 Kasım 2026· otomatik üretildi

Supabase ile Hızlı Backend: Veritabanı ve Kimlik Doğrulama

Supabase ile dakikalar içinde güçlü bir backend kurabilirsiniz. PostgreSQL, gerçek zamanlı sorgular ve auth entegrasyonu tek çatı altında.

#Supabase#Backend#PostgreSQL#Kimlik Doğrulama

Yeni bir proje fikri aklınıza düştüğünde, "önce backend'i ayağa kaldırayım" diye geçen zamanı hepimiz biliyoruz. Sunucu kurulumu, veritabanı konfigürasyonu, kimlik doğrulama akışları… Bunların hepsi henüz prototip aşamasındayken ciddi zaman çalan işler. İşte tam bu noktada Supabase hayata giriyor.

Supabase Nedir?

Supabase, açık kaynaklı bir Backend-as-a-Service (BaaS) platformudur. Firebase'e alternatif olarak konumlandırılsa da altında çalışan şey çok daha tanıdık: PostgreSQL. Yani NoSQL sürprizleri yok, ilişkisel veri modeli, güçlü sorgular ve ACID uyumluluğu var.

Tek bir dashboard üzerinden şunlara erişebilirsiniz:

  • PostgreSQL veritabanı — tam yetkiyle
  • Kimlik doğrulama (Auth) — e-posta, OAuth, magic link
  • Realtime — tablo değişikliklerini anlık dinleme
  • Storage — dosya yükleme ve yönetimi
  • Edge Functions — sunucusuz fonksiyonlar

Veritabanını Dakikalar İçinde Hazırlamak

Supabase projenizi oluşturduktan sonra sizi bir SQL editörü ve görsel tablo yöneticisi karşılıyor. İster arayüzden tıklayarak, ister SQL yazarak tablolarınızı oluşturabilirsiniz.


create table posts (
  id uuid default gen_random_uuid() primary key,
  title text not null,
  content text,
  created_at timestamp with time zone default now()
);

Bu kadar. Tablo hazır ve otomatik olarak bir REST API ile GraphQL endpoint'i size sunuluyor. Ayrı bir API katmanı yazmaya gerek yok.

JavaScript/TypeScript tarafında @supabase/supabase-js kütüphanesiyle veri çekmek son derece temiz:


const { data, error } = await supabase
  .from('posts')
  .select('*')
  .order('created_at', { ascending: false });

Kimlik Doğrulama: Sıfırdan Yazmak Yok

Auth akışları projelerin en can sıkıcı kısımlarından biri. JWT yönetimi, şifre sıfırlama, oturum yenileme… Supabase bunların tamamını sizin yerinize hallediyor.

Kullanıcı kaydı ve girişi birkaç satıra iniyor:


// Kayıt
await supabase.auth.signUp({ email, password });

// Giriş
await supabase.auth.signInWithPassword({ email, password });

// Google ile giriş
await supabase.auth.signInWithOAuth({ provider: 'google' });

Bunun yanında Row Level Security (RLS) ile veritabanı satır düzeyinde yetkilendirme yapabiliyorsunuz. Örneğin bir kullanıcının yalnızca kendi yazdığı postları görmesini şu policy ile sağlayabilirsiniz:


create policy "Kullanıcı kendi postlarını görebilir"
on posts for select
using (auth.uid() = user_id);

Bu yaklaşım, yetkilendirme mantığını uygulama kodundan değil, doğrudan veritabanı katmanından yönetmenizi sağlıyor. Çok daha güvenli ve merkezi bir yapı elde ediyorsunuz.

Gerçek Zamanlı Özellikler

Supabase'in öne çıkan bir diğer avantajı Realtime desteği. Bir tabloya abone olup anlık değişiklikleri dinlemek için:


supabase
  .channel('public:posts')
  .on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'posts' }, payload => {
    console.log('Yeni post:', payload.new);
  })
  .subscribe();

Canlı bildirimler, ortak düzenleme ekranları veya anlık dashboard'lar için ekstra bir altyapıya ihtiyaç duymadan bu özelliği kullanabiliyorsunuz.

Ne Zaman Tercih Etmeli?

Supabase her projeye uymayabilir, ama şu senaryolarda gerçekten parlıyor:

  • Hızlı prototipleme — Fikri en kısa sürede ayağa kaldırmak istiyorsanız
  • Küçük-orta ölçekli uygulamalar — MVP'den ilk canlıya giden süreçte
  • Relasyonel veri modeli gereken projeler — PostgreSQL'in gücünden taviz vermeden

Büyük ölçeklerde özel optimizasyonlar ve tam kontrol gerekebilir. Ama çoğu proje için Supabase, gereksiz karmaşıklığı ortadan kaldıran sağlam bir seçim.

---

Sonuç olarak Supabase, "backend boilerplate" yazmaktan yorulanlar için düşünülmüş, pragmatik bir platform. PostgreSQL'in ciddiyetini, modern geliştirici deneyimiyle birleştiriyor. Bir dahaki projenizde bir şans verin; zaman kazandırdığını göreceksiniz.