Backend yazmakla zaman kaybetmek istemiyor musunuz? Firebase'in açık kaynaklı alternatifi olan Supabase ile Next.js'i birleştirerek veritabanı, kimlik doğrulama ve depolama işlemlerini dakikalar içinde nasıl çözeceğinizi keşfedin.
Neden Supabase?
Firebase arka planda NoSQL bir veritabanı (Firestore) kullanırken, Supabase gücünü tamamen PostgreSQL'den alır. Bu sayede hem ilişkisel veritabanının gücünden faydalanır hem de gerçek zamanlı (realtime) dinleme özelliklerini kaybetmezsiniz.
Next.js App Router ile Kurulum
Supabase'in SSR (Server-Side Rendering) uyumlu paketini kullanarak sunucu tarafında veri çekmek son derece kolaydır.
// (c) CodeMareFi - codemarefi.com.tr
// src/app/page.tsx (Server Component)
import { createClient } from '@supabase/supabase-js'
export default async function Page() {
const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY);
// Veritabanından gönderileri çekiyoruz
const { data: posts } = await supabase.from('posts').select('*');
return (
<ul>
{posts?.map((post) => (
<li key={post.id}>{post.title}</li>
))}
</ul>
)
}
Row Level Security (RLS) ile Güvenlik
Supabase'de istemci (client) tarafından doğrudan veritabanına sorgu atabilirsiniz. Güvenlik açığı oluşturmaz mı? Hayır! PostgreSQL'in RLS özelliği sayesinde her tablonun güvenliğini satır bazlı ayarlayabilirsiniz. Örneğin "Kullanıcılar sadece kendi gönderilerini silebilir" kuralını doğrudan veritabanı katmanında tanımlayarak mükemmel bir koruma sağlarsınız.
