Problem

Bir uzmana (veteriner, usta, avukat, diyetisyen, emlakçı) hızlıca soru sorabileceğin bir uygulama kurmak; kullanıcı paneli, uzman paneli, vaka/talep akışı ve mesajlaşmayla birlikte gelir. Bunu her dikey için sıfırdan kurmak — beş ayrı backend, beş ayrı mobil uygulama — hem pahalı hem de gereksiz bir tekrar.

Çözüm

Tek bir Express + Prisma + PostgreSQL backend, çoklu-tenant mimariyle kuruldu. Kullanıcı paneli, uzman paneli, vaka akışı ve mesajlaşma bir kez yazıldı; her marka (Veterinere Sor, Ustaya Sor...) kendi rengi, logosu ve mobil arayüzüyle App Store'a çıkabiliyor, ama aynı motoru paylaşıyor.

Bu kararın asıl bedeli hız değil, disiplin: paylaşılan bir motorda tek bir eksik filtre, bir markanın verisini diğerine gösterir. Bu yüzden tenant izolasyonu bir "özellik" değil, her yeni uç noktada tekrar tekrar denetlenen bir kural haline geldi.

Teknoloji

ExpressPrismaPostgreSQL Expo / React NativeMulti-tenant Mimari

Öne Çıkan Detay

Tenant izolasyonu her sorguda appId filtresinden geçiyor — tek bir kod tabanından beş ayrı markayı, birbirinin verisine asla karışmadan servis ediyor. Yeni bir dikey (ör. "Diyetisyene Sor") eklemek, yeni bir backend kurmak değil, yeni bir tenant tanımlamak anlamına geliyor.

Aynı disiplin istemci tarafında da geçerli: aynı kod iOS, Android ve web'de çalıştığı için native modüller platform kontrolünden geçmeden çağrılmıyor. Tek kod tabanının bedeli, her değişiklikte üç platformu ve beş markayı birden düşünmek.

Benzer bir problemi konuşalım

Kapsamı belirsiz bir ürün fikri ya da dijitalleşmesi gereken bir süreç varsa, bir e-posta yeterli.