Fatih Demirağ — Kişisel Portfolyo, Sistem Mimarisi & Teknik Blog
İletişim
20 Ekim 2026 • 6 dk okuma

KOBİ'ler İçin Bulut Tabanlı Çok Kiracılı (Multi-Tenant) Finans & ERP Mimarisi

Fatih Demirağ
Fatih Demirağ
Yazılım Geliştirici & Sistem Mimarı
KOBİ'ler İçin Bulut Tabanlı Çok Kiracılı (Multi-Tenant) Finans & ERP Mimarisi

Tek Veritabanında Şirket İzolasyonu (Tenant Scoping)

Küçük ve orta ölçekli işletmeler (KOBİ) için geliştirdiğim Feep - Bulut Süreç & Finans Yönetimi platformunda yüzlerce işletmenin cari hesapları, faturaları ve personel yetkileri bulunur. SaaS mimarisinde her firmaya ayrı veritabanı açmak maliyet ve bakım zorluğu getirir; bu nedenle tek veritabanında mantıksal izolasyon (Single Database Multi-Tenancy) uyguladım.

Global Scope ile Veri Sızıntısını Sıfırlama

Laravel Eloquent'in Global Scope yeteneği, geliştirici sorgu yazarken filtrelemeyi unutsan dahi firmanın sadece kendi kayıtlarını görmesini sağlar:

class TenantScope implements Scope
{
    public function apply(Builder $builder, Model $model): void
    {
        if (auth()->check() && auth()->user()->company_id) {
            $builder->where($model->getTable() . '.company_id', auth()->user()->company_id);
        }
    }
}

Finansal Hesaplamalarda Float Yerine Tamsayı Mantığı

Para hesaplamalarında asla FLOAT veya DOUBLE kullanılmaz. Yuvarlama hatalarını önlemek için kuruş cinsinden BIGINT veya kesinlik sağlayan DECIMAL(15, 2) tipi tercih edilir. Bu sayede KDV matrahı ve stopaj hesaplamalarında sıfır sapma elde edilir.