Supabase: Arka Yüzü (Backend) Kendi Kod Satırınızdan Kontrol Edin
Supabase: Arka Yüzü (Backend) Kendi Kod Satırınızdan Kontrol Edin
Yazılım geliştirme takımı yeni bir fabrika uygulaması başlatıyor. İşçiler mobil telefonda vardiya başlangıcını kaydedecek, müdür tarayıcıdan kayıtları görecek, sistem bu bilgileri gerçek zamanlı olarak MES’e aktaracak.
Takım kodu yazmaya başladı, ama hızlı bir sorun çıkıyor:
“Veritabanı kuracak mı birisi? Mobil uygulamada oturum yönetimini kim kod layacak? Dosya depolama için AWS hesabı mı açmamız gerek?”
Her yeni özellik bir altyapı görevi haline geliyor. Sistem kurmak için hafta harcıyor, kod yazmak için geri kalmış oluyor.
Problemin Kökü: Backend Ağır Yükü
Fabrika yazılımını hızlı geliştirmek için sıkışıkız. Bir özellik eklemek için:
- Veritabanı kurmak (bağlantı, kullanıcı, yetki)
- Oturum sistemini kodlamak (token, refresh, timeout)
- API uç noktalarını yazmak (REST, GraphQL)
- Dosya yüklemeyi yönetmek (S3, storage, izinler)
- Bu sistemlerin güvenliğini sağlamak (SQL injection, CORS, auth)
Küçük bir takım bunu kendi altyapısından yapsa, yazılımcı mühendis yerine sistem yöneticisi haline geliyor. Ürüne gelecek zaman azalıyor.
Bu da Supabase’i devreye sokma sebebi.
Supabase: Üç Sistemin Tek Paketi
Supabase, açık kaynaklı bir backend hizmeti sunuyor. Postgres veritabanı, kimlik doğrulama (auth) ve dosya depolama (storage) üçünü birlikte sunar.
Basit anlatımla:
- Veritabanı: Postgres. Güçlü, güvenilir, SQL standardı.
- Kimlik doğrulama: Kullanıcı kaydı, oturum, token yönetimi. Email/Google/GitHub ile giriş.
- Depolama: Dosya yükleme ve indirme. Resim, belge, video.
Hepsi bir API ile erişilebilir. Yazılımcı bu üçünü bağlamak için sistem kurmak yerine, kodu yazabilir.
Pratikte: Bir Fabrika Uygulaması Senaryosu
Vardiya kaydı uygulaması tasarlarken:
Adım 1: Supabase Kurulumu (dakikalar)
- Postgres veritabanı açılır (otomatik)
- Auth sistemi aktif hale gelir
- Storage bucket'ı oluşturulur (resim depolama için)
Adım 2: Tablo Tasarlanır (SQL ile)
Yazılımcı şunu yazabilir:
CREATE TABLE shifts (
id UUID PRIMARY KEY,
worker_id UUID REFERENCES auth.users(id),
start_time TIMESTAMP,
end_time TIMESTAMP,
location TEXT
);
Adım 3: Mobil Uygulama Bağlanır
Mobil uygulamanın kod satırı:
// Kullanıcı kaydı
await supabase.auth.signUp({
email: "isci@fabrika.com",
password: "sifre123"
});
// Vardiya başla
await supabase.from('shifts').insert({
worker_id: user.id,
start_time: new Date(),
location: 'Assembly'
});
Yazılımcı veritabanı kurmamış, oturum sistemi yazmamış, API uç noktası oluşturmamış. Supabase bunu hallediyor.
Neden Fabrika Yazılımı İçin Önemli?
Fabrika uygulamaları hızlı değişir. Bir ay önce “vardiya başlangıcını kaydet” istemi vardı, bu ay “makine bakımı notunu yazıştır” istemesi çıktı. Yazılımcı her istemi hızlı kodlamak zorunda.
Supabase ile:
- Veritabanı yapısını SQL ile dakikalar içinde değiştirebilir.
- Yeni API uç noktası kurmak yerine, Supabase API’si zaten orada.
- Kimlik yönetimi ve dosya depolama hızır durumda.
Bu hız, fabrika yazılımında rekabet avantajıdır.
Açık Kaynaklı Olmasının Anlamı
Supabase açık kaynaklı. Demek ki:
- Kendi sunucunuzda çalıştırabilirsiniz (self-hosted). Bulut hizmetine bağlı kalmazsınız.
- Kodunu görebilirsiniz. Gizli ne var, anlaşılır.
- Topluluk tarafından geliştiriliyor. Düzeltme ve özellik eklemeleri açık tartışılır.
Fabrika yazılımının hassas veri (sipariş, malzeme, üretim) olduğu düşünülürse, self-hosted seçeneği önemlidir. Eryxon Flow ve benzer uygulamalar bu sebeple Supabase’i seçebiliyor.
Kısıtlamalar (Sade Olalım)
Supabase hızlı geliştirme için tasarlanmıştır, ama sınırları vardır:
- Çok büyük dosya işlemek (video transcoding gibi) için ek hizmet lazım.
- Realtime özelliği canlı çalışsa da, milyon kullanıcılı sistemler için ek yapılandırma gerek.
- Veritabanı tasarımı yanlış olursa, sonradan düzeltmek maliyetlidir.
Sonuç: Backend’i Yazılımcıya Geri Ver
Geleneksel yol: Sistem yöneticisi altyapıyı kurar, yazılımcı uygulama yazar.
Supabase’le: Yazılımcı kendi arka yüzünü kurur, ürüne odaklanır.
Fabrika yazılımı hızlı ilerlemesi gereken alanlardır. Veritabanı kurmakta vakit harcamak yerine, vardiya takibini, kalite kontrolünü, stok yönetimini kodlamak gerek.
Supabase bu odaklanmayı sağlıyor.