Öncelikle merhabalar, bugünkü yazımızda Trendyol’da yeni bir mimari ile replatform ettiğimiz Chat Bot’u yeni adıyla Trendyol Asistan’ı geliştirirken kullandığımız mimari ve teknolojilerden bahsedeceğim.

Trendyol Asistan temelde state machine mimarisi üzerine kurulmuş, kullanıcıların Müşteri Temsilcisine bağlanmadan sorunlarının çözümlerini bulabilmesi amacıyla tasarlanmış bir uygulama.

İşe öncelikle state machine’i biraz irdeledikten sonra başalayabiliriz.

State Machine nedir?

State machine’i doğrudan teorik bir anlatım ile değil bir örnek üzerinden küçük tanımlamalar ile anlatmak isterim:

Bir E-Ticaret sitesinden bir ürün aldığımızda ürünümüzün durumları temel olarak aşağıdaki şekilde olacaktır.

Image for post
Image for post

Bilgisayar bilimlerinde bu tür iş akışlarını modellemek için kullanılan çözüm yollarından birine de state machine (durum makinesi) denir.

State machineler davranışsal olarak her zaman tutarlı, stateler arası geçişlerin iyi tanımlandığı, anlamanın ve geliştirmenin kolay olduğu güçlü bir yöntem. …


Bir süre önce bir uygulamamızda implementasyonunu yaptığım ve bize bazı konularda kolaylık sağlayan bir yöntemden bahsedeceğim: application.propertiesdosyalarında tanımlanmış constant değerleri enum olarak tanımlayabiliriz.

application.properties dosyam şu şekilde :

Bu enumerated Type’ların kullanımına gelecek olursak:

System.out.println(Foo.FOO.getValue());
System.out.println(Foo.FOO_BAR.getValue());

Test
Test foo bar

Görüldüğü üzere kullanımı oldukça basit ve kod okunulabilirliğini artırıyor.


Image for post
Image for post
Image source: unicornsoftlabs.com

Merhaba bu yazımda iyzico ödeme sistemiyle entegrasyon yaparken genel olarak dikkat edilmesi gereken konulara değineceğim.

Başlarken şunu belirteyim; iyzico API dokümanı ben implementasyonu gerçekleştirirken 2 tane vardı. 2 tane diyorum çünkü dokümanların İngilizce olanı ve Türkçe olanı içerik ve kapsam bakımından birbirlerinden farklıydılar. Bu oldukça sinir bozucu bir durumdu :-$

Burada referans aldığım belgeleri şöyle bırakayım:

  1. Türkçe Doküman İçin : https://dev.iyzipay.com/tr
  2. İngilizce Doküman İçin : https://dev.iyzipay.com/en

Sisteme şu adresten kaydoluyoruz. Kayıt işlemini gerçekleştirdikten sonra “Ayarlar” menüsünden API Anahtarı ve Güvenlik Anahtarı bilgilerine ulaşabilirsiniz.

Entegrasyon yaparken desteklenen diller için şu Github adresinde API clientları bulunuyor. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store