Teklif al

Sistem Mimarisi · Çatalca

Çatalca markaları için Sistem Mimarisi

Basılı bir kâğıtta yapı bulunmuyor, kâğıt bulunuyor. Çatalca yazılım mimarisi danışmanlığında ilk mimari kararı doğuran koşul da bu oluyor. Bir soru kitapçığının sayfasında sorunun nerede başlayıp nerede bittiğini yalnızca boşluklar söylüyor; alan adı da satır kimliği de bulunmuyor. Mimari soru bu: yapıyı kim üretecek? Vipkurum için yazdığımız araçta sınırı görüntü işleme belirliyor. OpenCV sayfayı tek tek soruya bölüyor, kesimin nereden geçeceği kararı dil modelinin yorumuna bırakılmıyor; aynı sayfa ikinci kez işlendiğinde aynı yerden kesiliyor. Yorum işi ayrı bir bileşende kalıyor.

Sistem Mimarisi — Çatalca

Çatalca'nın dokusu gıda perakendesi ve kırsal ticaret. Kayıt tutmanın başladığı yer sizde hâlâ basılı bir belgeyse ilk soru o belgedeki yapıyı kimin üreteceği oluyor. Ağımızda ilçe adıyla birlikte yazabildiğimiz gerçek bir işimiz de burada: Merkez Kasap'ın QR menüsü. O iş bir menü sayfasıydı, bu sayfanın kanıtı değil. Kanıt Vipkurum'un soru kırpma aracı ve örtüşmediği yer açık: eğitim teknolojisi için yazıldı; tarım, hayvancılık ve gıda üretiminin kendi süreçleri için gösterecek işimiz yok, sipariş ile stok katmanı orada hiç kurulmadı. Anlattığımız kısım sorumluluğun nasıl bölündüğü. Yığında görüntü işlemeyi Python ile OpenCV taşıyor, anlamı çözen kısım Gemini ve OpenAI modellerinde; kayıtlar MongoDB'de duruyor, servis Node.js üzerinden çağrılıyor, içerik yönetimi Laravel tarafında.

  • Sınırı görüntü işleme çiziyor: OpenCV sayfayı tek tek soruya bölüyor ve aynı sayfa yeniden işlendiğinde kesim aynı yerden geçiyor.
  • Belirlenim ile yorum ayrı bileşenlerde duruyor; geometriyi kod hesaplıyor, anlamı model çözüyor, ikisi birbirinin işini üstlenmiyor.
  • Görüntü işleme kendi çalışma zamanında kalıyor ve Laravel tarafındaki içerik yönetimine Node.js üzerinden bağlanıyor; Laravel tarafı Python taşımak zorunda kalmıyor.

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ı

Vipkurum soru kırpma — sınırı OpenCV çiziyor, anlamı model çözüyor

Soru kitapçığının sayfası görüntü işlemeyle tek tek soruya ayrılıyor. Kesimin nereden geçeceğini OpenCV belirliyor; karar bir modelin yorumuna bırakılmadığı için aynı sayfa yeniden işlendiğinde aynı sonucu veriyor. Anlam tarafı ayrı bileşende duruyor: Gemini ve OpenAI modelleri anahtardaki cevabı ilgili soruya bağlıyor, böylece anahtar ayrı bir belge olmaktan çıkıp kırpılan sorunun kendi kaydına yazılıyor. Elde olan sorular örnek alınarak yeni soru cevabıyla birlikte üretilebiliyor. Görseller ve soru kayıtları MongoDB'de; Python servisini Node.js çağırıyor, içerik yönetimi Laravel tarafında duruyor.

Vaka çalışmasını okuyun →

Çatalca 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

  • Kırpmayı doğrudan bir dil modeline yaptırsanız olmaz mı?

    Olur ama tekrarlanmaz. Model aynı sayfaya iki kez baktığında kesimi kaydırabiliyor, kayan kesim de soru kaydını bozuyor. Geometriyi OpenCV hesapladığında sonuç her seferinde aynı çıkıyor; model yalnız anlam tarafında kalıyor.

  • Elimizdeki kitapçıklar taranmış görsel, yapı taşımıyor. Nereden başlıyorsunuz?

    Yapı taşımaması beklenen şey, çünkü yapı sayfada değil sayfanın görüntüsünde. İlk karar hangi bilginin görüntüden çıkarılacağı, hangisinin insandan alınacağı oluyor: sınır ve sıra görüntüden çıkıyor, ders ve kazanım gibi bilgiler kayda dışarıdan yazılıyor.

  • Çatalca'da gerçekten çalıştığınız bir yer var mı?

    Var, ağımızda tek yer burası: Merkez Kasap'ın QR menüsünü biz yazdık ve ilçede yayında. Ama o iş bir menü sayfası; bu sayfada anlattığımız görüntü işleme mimarisinin kanıtı değil, onu Vipkurum tarafındaki işimizle gösteriyoruz.

  • Tarım ya da hayvancılık için de böyle bir okuma yapabilir misiniz?

    O alanlarda yazdığımız bir iş yok, o yüzden söz de vermiyoruz. Anlatabildiğimiz şey basılı bir sayfadaki sınırın kayda dönme biçimi; alan bilgisi gerektiren her iş bunun üstüne ayrıca kurulur.

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