Teklif al

Sistem Mimarisi · Beşiktaş

Beşiktaş markaları için Sistem Mimarisi

Beşiktaş'taki bir genel merkezin işi kendi katında bitmiyorsa aynı hafta içinde birkaç binada tadilat, kurulum ya da montaj açılıyor. Hangi adresin bugün açık olduğunu güncel tutacak kimse de kalmıyor, çünkü liste her hafta değişiyor. Mimari soru buradan çıkıyor: kayıt neye bağlanacak? Şantiye personel takibi işinde kaydı bir saha tablosuna bağlamadık. Kimliği QR kod, yeri konum okuması söylüyor; ikisi tek giriş satırında birleşiyor. İş bittiğinde adres iş yeri olmaktan çıkıyor, geride bakımı yapılacak bir kurulum kalmıyor.

Sistem Mimarisi — Beşiktaş

Beşiktaş'ın dokusunda genel merkez ofisleri ve çok markalı kurumsal yapılar öne çıkıyor. Kararı merkezden verip işi her hafta başka bir adreste yapıyorsanız kayıt için sabit bir yer kalmıyor: bir kat yenileniyor, bir depo taşınıyor, bir nokta kuruluyor. Bu çalışma koşuluna en yakın işimiz bir şantiye personel takip sistemi. Nerede örtüşmediğini önce yazalım: inşaat sahası için yazıldı; beyaz yaka mesai düzeni, bordro hesabı ve resmî puantaj orada hiç kurulmadı, ilçede ajans ya da medya tarafında bir müşterimiz de yok. Taşınan şey tek bir mimari karar: yer, kaydın işaret ettiği bir satır değil, kaydın kendi üstünde duran bir okuma. Altta Laravel kayıtları karşılıyor, MySQL tutuyor; saha uygulaması React Native (Expo) ile telefonda çalışıyor.

  • Sahanın adı bir ana tablodan seçilmiyor; QR kod kimin okuttuğunu, konum hangi noktada olunduğunu söylüyor ve iki okuma tek giriş satırında birleşiyor.
  • Hak ediş veri modelinde bir alan olarak durmuyor; giriş ile çıkış eşleştiğinde hesaplanıyor, yanına ikinci bir hesap tablosu konmuyor.
  • Çıkışı okutulmamış bir giriş tahminle kapatılmıyor; satır eksik duruyor ve model bu boşluğu gizlemek yerine gösteriyor.

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ı

Şantiye personel takibi — yeri girişin kendi okuması söylüyor

Kararın çıkış noktası şu: sahaların listesi güncel tutulamıyorsa kayıt o listeye bağlanamaz. Bu yüzden veri modelinde saha bir ana kayıt değil, girişin kendi üstünde duran iki okuma; kod kimin okuttuğunu, konum doğrulaması nerede olunduğunu veriyor. Süre eşleşen giriş ve çıkış çiftinden hesaplanıyor, çıkışı okutulmamış giriş kapanana kadar eksik satır kalıyor. Hak ediş saklanan bir alan değil aynı çiftlerin sonucu; bir kişinin farklı noktalardaki süresi ayrı ayrı toplanıyor. Uygulama telefonda React Native (Expo) ile, Laravel kayıtları alıyor, MySQL tutuyor.

Vaka çalışmasını okuyun →

Beşiktaş 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

  • Sahaların listesini yine de tutmamız gerekmez mi?

    Ana tablo olarak tutmak zorunda değilsiniz. Kayıt bir saha satırına değil, okumanın yapıldığı konuma bağlanıyor; liste eskidiğinde yazılmış kayıt bozulmuyor. Listeyi raporlamada gruplama için kullanırsınız, kaydın doğruluğu ona bağlı kalmaz.

  • Aynı kişi bir haftada üç ayrı adreste çalışıyor. Rakamlar karışmaz mı?

    Karışmaz, çünkü süreler tek bir yığında toplanmıyor. Her adres kendi içinde toplanıyor; sonradan bölmek gerekmiyor ve hangi işin hangi bütçeye yazılacağı bu ayrışmadan okunuyor.

  • Konum doğrulanamayan bir yerde ne oluyor?

    Satır kapanmıyor. Tahminle doldurmak yerine eksik kalıyor, çünkü sonradan düzeltilmesi en pahalı şey uydurulmuş bir saat. Model bu boşluğu göstermek üzere kuruldu.

  • Bizim işimiz inşaat değil; şantiye yazılımı bize ne söylüyor?

    Tek bir şey söylüyor ve hangisi olduğunu yazıyoruz: bir işin nerede yapıldığı bilgisi ana tablodan mı, okumanın kendisinden mi gelecek. Bu karar tadilat ekibinde de bakım turunda da aynı karar. İnşaat sahasının dışına çıkan bir iddiamız yok; taşınan kısım kaydın çıpasının nerede durduğu.

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