Teklif al

Sistem Mimarisi · İstanbul

İstanbul markaları için Sistem Mimarisi

İstanbul'a çalışan bir ürünün kaç yüzeyi olacağı tek kararla bitmiyor: masadaki tarayıcı paneli ile cepteki uygulama aynı işin iki yüzü olabiliyor. Asıl mimari soru arayüz sayısı değil, güncellemenin kaç yoldan gideceği. Her yüzeye kendi yolunu yazarsanız biri er geç geride kalıyor, kullanıcı da sayfayı yenileyerek kontrol ediyor. Secretum'u şu an inşa ediyoruz; orada yayın katmanını tek tuttuk, iki istemci aynı kanalı dinliyor.

Sistem Mimarisi — İstanbul

İstanbul ölçeğinde aynı ürünü hem masadan hem yoldan kullanan bir ekibiniz varsa aynı kayıt aynı dakikada iki ekranda açık kalıyor ve değişikliğin ikisine birden inmesi gerekiyor. Bu soruya en yakın duran işimiz Secretum; müşteri teslimi değil, şu an inşa ettiğimiz kendi ürünümüz. Nerede örtüşmediğini de yazalım: Secretum bir kurumsal panel değil, yapay zeka karakterlerinin bir akışta yaşadığı sosyal platform; kurum içi onay zinciri, saha operasyonu ve muhasebe için gösterecek işimiz o değil. Taşınan kısım yayının nereden çıktığı. Laravel tarafında kurduğumuz Reverb yayınını Vue 3 arayüzü ile React Native (Expo) istemcisi birlikte dinliyor; karakter kaydı MongoDB'de, görsel kuyruğu Redis'te, dosyalar S3'te duruyor.

  • Canlı güncelleme tek yayın katmanından çıkıyor: Laravel tarafındaki Reverb yayınını hem Vue 3 web arayüzü hem React Native (Expo) istemcisi dinliyor, arayüz başına ikinci bir güncelleme yolu yazılmıyor.
  • Karakter kaydı sohbet oturumuna değil hesaba bağlanıyor; kimliği ve biriken geçmişi kalıcı kayıt olduğu için oturum kapandığında kaybolmuyor, kaldığı yerden devam ediyor.
  • Kanıtın sınırı da yazılı: Secretum'u şu an inşa ediyoruz, bugün kurulabilecek bir kurumsal sürümü yok; anlatabildiğimiz şey ürünün kendisi değil, yayın katmanının kurulma biçimi.

Neden Algoriel

  • Parçalar aynı yerden okur

    Tahlil.com'da site, yönetim paneli ve mobil uygulama aynı bilgiyi okuyor; üçü ayrı sistem gibi davranmıyor.

  • Ne nerede çözülür, baştan belli

    Hangi işin hangi katmanda çözüleceğine kod yazılmadan karar veriliyor; sonradan yer değiştiren iş pahalıya geliyor.

  • Özet elle güncellenmiyor

    Günlük Hava Durumu'nda iklim özeti arşiv büyüdükçe kendini yeniliyor; kimse aylık tabloyu elle yazmıyor.

  • Dosya düzeni bir kurala bağlı

    KGM SsangYong'da dosyanın nereye ve hangi adla yazıldığı tek bir düzene bağlandı; yükleme kodu bu düzeni izliyor.

Ne inşa ediyoruz

Sistem Mimarisi
  • Verinin hangi sınırda duracağı

    Birden fazla kurumun aynı sistemi kullandığı kurulumda her kurum kendi alan adından girer; öğrenci, veli ve ödeme kaydı o kurumun sınırının içinde kalır. Bu düzene çok kiracılı kurulum deniyor.

  • Kaydın neye bağlanacağı

    Servis geçmişinin kişiye mi adrese mi cihaza mı yazılacağı koddan önce belirlenir. Bu karar sonradan değişirse o güne kadar biriken geçmişin tamamı yeniden bağlanır.

  • Yetkinin veri modelinde durması

    Öğretmen, veli ve kurum yöneticisi aynı ders programı kaydına kendi yetkisi kadar erişir. Yetki ekranda kapatılan bir görünüm değil, kaydın kendi tanımının parçası.

  • Okuma yolunun ayrılması

    Hangi ekranın hazır tutulan bir kopyadan, hangisinin doğrudan veritabanından okunacağı ilk kayıttan önce belirlenir. Vipkurum'da sık açılan ekran kopyadan geliyor, veritabanına yalnız kopyası olmayan okuma düşüyor.

  • Tek sisteme bağlanan arayüzler

    Tahlil.com'da üç arayüz tek sisteme bağlı: hasta sitesi, hekim paneli ve mobil uygulama aynı kaydı okuyor, arayüz başına ikinci bir veri modeli yazılmıyor.

  • Depolama düzeninin ilk günde kurulması

    Dosyaların hangi adlandırma ve klasör düzeninde duracağı en baştan belirlenir; sonradan kurulan düzen taşıma işine dönüşür.

Buna benzer çalışmalar

Sistem Mimarisi · Vaka çalışması

Secretum — tek Reverb yayınını web arayüzü ve telefon istemcisi birlikte dinliyor

Şu an inşa ettiğimiz kendi ürünümüz: kullanıcı yapay zeka karakterini kuruyor, karakter akışta paylaşım yapıyor. Karar arayüz sayısında değil, güncellemenin kaç yoldan gideceğinde verildi. Laravel tarafında bir Reverb yayını kurduk; Vue 3 web arayüzü ile React Native (Expo) istemcisi aynı kanalı dinliyor, ikinci bir güncelleme yolu yazılmadı. Karakterin kimliği ve biriken geçmişi hesaba bağlı kalıcı kayıt olarak MongoDB'de duruyor. Metni Anthropic API, görseli Flux API ile Replicate üretiyor; görsel işi Redis kuyruğuna alınıyor, dosya S3'e yazılıyor. Bugün kurulabilecek bir kurumsal sürüm yok.

Vaka çalışmasını okuyun →

İstanbul ekipleriyle uzaktan çalışmak

Ofisimiz yok; bu şehirdeki işleri de uzaktan yürütüyoruz ve yerinde destek vermiyoruz. Ne yapıldığı ve neden öyle yapıldığı yazılı duruyor. Ortaklıkla geliştirdiğimiz işler proje sayfalarında işaretli.

  • İlk sürüm çalışan bir parçayla çıkar, ek yetenekler sonra eklenir.
  • Bildiğimiz müşterilerimizin tamamı Türkiye'de.
  • Kararlar yazılı duruyor, ilerleme çalışan ekranlardan görünüyor.

Sık sorulan sorular

  • Web panelini ve telefon uygulamasını ayrı ayrı mı güncelleyeceksiniz?

    Hayır. Secretum'da yayın katmanı tek: Laravel tarafındaki Reverb kanalını Vue 3 arayüzü de React Native (Expo) istemcisi de dinliyor. Arayüz başına ikinci bir yol yazmadığımız için biri diğerinden geride kalmıyor.

  • Secretum bir sosyal platform, bizim işimiz değil. Bu bize ne söylüyor?

    Sektör taşınmıyor, karar taşınıyor. Secretum'u şu an inşa ediyoruz ve kurumsal bir sürümü yok. Taşınabilen kısım şu: canlı yayın bir arayüzün özelliği değil, çekirdeğin bir katmanı olarak kuruluyor.

  • Uzun süren bir üretim işi ekranı kilitlemesin istiyoruz.

    Süre kadar bekleyen bir ekran yazmıyoruz. Görsel üretimi Redis kuyruğuna giriyor, dosya S3'e yazılıyor; kullanıcı akışta ilerlemeye devam ediyor, hazır olan sonuç aynı kanaldan iniyor.

  • Aynı masada oturmadan bu kararlar nasıl veriliyor?

    Ofisimiz yok; ekip tamamen uzaktan çalışıyor. Mimari kararı yazıya döküyoruz: kaç yüzey olacak, yayın hangi katmandan çıkacak, kayıt neye bağlanacak. Teklif formundan gelen mesajlara 2 iş günü içinde dönüyoruz.

Verinin hangi sınırda duracağına koddan önce karar verelim.