1. Supabase Nedir?
- Supabase, geliştiricilerin hızlı bir şekilde PostgreSQL tabanlı arka uç (backend) oluşturmasını sağlayan bir platformdur.
- Backend-as-a-Service (BaaS) çözümü sunar: Sunucu yönetimi, API yazımı gibi işleri büyük ölçüde sizin yerinize yapar.
- Ön uç (frontend) geliştirmeye odaklanmanıza izin verir.
2. Temel Özellikleri
- Otomatik Veritabanı ve API Oluşturma
- Supabase’e tablo eklediğinizde, otomatik olarak RESTful ve GraphQL API oluşur.
- Artık manuel olarak CRUD endpoint’leri yazmanız gerekmez.
- Arka Uç Geliştirmeye Gerek Yok
- Supabase, kullanıcı kimlik doğrulama, veritabanı yönetimi, storage gibi işleri sizin için halleder.
- Hızlı Başlangıç
- Yeni projelere hızlı başlamak için ideal.
- Örnek: Bir blog uygulaması için birkaç tablo oluşturup birkaç satır kodla CRUD işlemleri yapılabilir.
- Ekstra Özellikler
- Authentication: E-posta, sosyal girişler (Google, GitHub vb.), magic link.
- Storage: Dosya yükleme ve yönetimi.
- Realtime: Veritabanı değişikliklerini anlık olarak dinleyebilme.
3. Row Level Security (RLS)
- RLS, Supabase’in veritabanındaki satır bazlı güvenlik mekanizmasıdır.
- Açık olduğu sürece API key’iniz client tarafında açıkta olsa bile, kullanıcı yalnızca izin verilen politikalara (policies) erişebilir.
- Örnek: Her kullanıcı kendi verilerini görebilir, başkasının verisine erişemez.
-- Örnek policy: Sadece giriş yapan kullanıcı kendi verilerini görebilsin
create policy "Users can select their own data"
on profiles
for select
using (auth.uid() = id);