Teklif al

Yazılım Danışmanlığı · Fatih

Fatih markaları için Yazılım Danışmanlığı

Çalışan bir randevu sistemini kapatıp elden geçirecek pencere her zaman bulunmuyor. Fatih'in dokusunda konaklama işletmeleri ile Tahtakale hattının toptan gıda ve hırdavat ticareti öne çıkıyor; ön masanız sabah erken açılıp akşam geç kapanıyorsa sistem gün boyu yazmaya devam ederken okunuyor. Danışmanlık burada mimari önerisi değil, tek bir sorunun cevabı oluyor: randevunun süresi kodun neresinde duruyor? Sektöre gömülmüşse her kural değişikliği yeni bir sürüm demek. Devralma işinde ilk baktığımız yer burası.

Yazılım Danışmanlığı — Fatih

Tarihî yarımadada randevu defteriniz tekse otel resepsiyonu, tezgâh arkası ve tadilat ekibi aynı sayfayı paylaşıyor. Fatih'in işletme profiline en yakın işimiz AlgoRandevu, ama örtüşmediği yeri açıkça söylüyoruz: AlgoRandevu devraldığımız bir müşteri sistemi değil, şu an inşa ettiğimiz kendi ürünümüz. Devralma kanıtımız başka yerde duruyor; SsangYong kurumsal tarafında mevcut sistemde iyileştirme, optimizasyon ve depolama altyapısının düzenlenmesi işini jQuery mirası üstünde yürüttük. AlgoRandevu'nun taşıdığı şey ise bir tasarım kararı: randevu süresini ve neye bağlandığını sektöre gömmek yerine ürün ayarı bırakmak. Yığın tarafında Laravel duruyor; kaydı MySQL, önbelleği Redis taşıyor, arayüzü Inertia kuruyor.

  • Devraldığımız sistemde önce kuralın nerede durduğunu çıkarıyoruz: randevu süresi kodun içindeyse her değişiklik sürüm gerektiriyor, ayar tablosundaysa gerektirmiyor.
  • AlgoRandevu'da üzerinde çalıştığımız kurgu randevuyu kişiye, odaya ya da ekipmana bağlayabiliyor; işletme kendi kaynağını seçiyor, biz sektör başına ayrı kurgu yazmıyoruz.
  • Vadetmediğimiz yer de yazılı: AlgoRandevu yayına alınmış bir müşteri kurulumu değil, geliştirmesi süren kendi ürünümüz.

Neden Algoriel

  • Önce kodu okuruz

    KGM SsangYong'un kurumsal sitesini biz kurmadık; devraldığımız kodu önce okuyup çalışan bölümlerini olduğu gibi bıraktık.

  • Yük taşıyan yere müdahale

    Aynı katalog sorgusu her açılışta MySQL'e düşüyordu; okuma Redis önbelleğine alındı, geri kalanına dokunulmadı.

  • Çatınızın dışına çıkmayız

    KGM SsangYong'da devraldığımız Laravel, Tailwind ve jQuery setinin dışına çıkmadık; yığına eklenen tek parça önbellek katmanı oldu.

  • Kopuk zinciri bağlarız

    Resterm'de hesap bir tabloda, katalog dosyada, teklif üçüncü yerdeydi; seçim sepete, sepet projeye ve müşterisine bağlandı.

  • Önce kodu okumak

    Devralınan kod tabanını baştan okuyoruz; neyin taşınacağını ve neye dokunulmayacağını tek tek adlandırıyoruz. Kapsam bu okumadan çıkıyor, hazır bir şablondan değil.

  • Mevcut yığında kalmak

    Bakımı sürdüren ekibin tanımadığı bir kütüphane, giderken arkamızda bıraktığımız bir yük olurdu. KGM SsangYong'un kurumsal sitesi hazır bir kütüphane setiyle geldi ve o sete tek satır bağımlılık eklemedik.

  • Müdahalenin sınırı

    Yalnız yavaş çalışan yerleri açıyoruz; ağır bölümler tek tek ele alınıyor, gerisi yerinde kalıyor. Sınırın nerede duracağı okuma bittiğinde yazılı olarak sizde olur.

  • Dosya düzeninin toparlanması

    Dağınık duran dosyaları tek bir adlandırma ve klasör düzenine taşıyoruz. Hangi modelin hangi dosyayı kullandığı, kod okunmadan görülür oluyor.

  • Okuma yükünün azaltılması

    Her ziyaretçi için baştan yapılan aynı sorgu bir kez üretilip paylaştırılabiliyor. KGM SsangYong'da katalog sayfasının sorgusu artık veri değişmedikçe yeniden koşmuyor.

  • Kod yazılmadan önceki karar

    Bazı kararlar ilk satırdan önce verilir ve sonradan düzeltilmesi pahalıya gelir. Resterm'in ısıtıcı seçim yazılımı üreticinin kendi ürün yapısı üzerine kuruldu; genel amaçlı bir teklif aracının bu yapıyı taşımayacağı baştan görülmüştü.

Buna benzer çalışmalar

Yazılım Danışmanlığı · Vaka çalışması

AlgoRandevu — randevu kuralı sektöre gömülmüyor, ürün ayarında duruyor

Şu an inşa ettiğimiz kendi ürünümüz; teslim edilmiş bir müşteri kurulumu değil. Randevunun süresini, neye bağlandığını ve arka arkaya nasıl dizildiğini sektöre gömmek yerine ürün içinde tanımlanabilir bırakıyoruz: kural değişince kod değişmiyor. Üzerinde çalıştığımız yapıda randevu kişiye, odaya ya da ekipmana bağlanabiliyor. Ürünü AlgoKlima ve AlgoCar ile aynı Laravel ve Inertia zemini üstüne kuruyoruz; randevu kayıtları MySQL'de duruyor, Redis önbellek katmanı olarak çalışıyor. Devralınan bir sistemi kapatmadan iyileştirmek ayrı bir iş; bu sayfadaki katkı ise kuralın nereye yazılacağına dair karar.

Vaka çalışmasını okuyun →

Fatih 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

  • Elimizde çalışan bir randevu sistemi var, kapatmadan iyileştirilebilir mi?

    Çoğu zaman evet, ama sıra önemli. Önce kuralın nerede durduğunu çıkarıyoruz: süre ve aralık kodun içindeyse her değişiklik sürüm demek. Kural ayara taşındığında sistem açık kalırken değişebiliyor. SsangYong kurumsal tarafında mevcut sistemi iyileştirme ve depolama altyapısını düzenleme işini de bu sırayla yürüttük.

  • AlgoRandevu'yu bugün kurabilir misiniz?

    Hayır. AlgoRandevu şu an inşa ettiğimiz kendi ürünümüz, yayına alınmış bir müşteri kurulumu değil. Bu sayfada anlattığımız şey ürünün kendisi değil, içindeki karar: randevu kuralını sektöre gömmemek.

  • Otel resepsiyonu ile tezgâh arkası aynı yazılımı kullanabilir mi?

    Randevunun neye bağlandığı ürün ayarı olarak kalırsa kullanabilir. Resepsiyonda kaynak oda, tezgâhta kişi ya da ekipman oluyor; ikisi için ayrı sürüm çıkarmak yerine aynı kurguda farklı kaynak seçiliyor. Bunu şu an inşa ediyoruz.

  • Fatih'e gelip mevcut sistemi yerinde inceler misiniz?

    Ofisimiz yok, tamamen uzaktan çalışıyoruz. Devralma işinde incelenen şey masa değil kayıt: hangi bilginin hangi tabloda durduğunu ve kuralın koda mı ayara mı yazıldığını birlikte çıkarıyoruz.

Elinizdeki sistemi okumamızı ister misiniz?