Microservis yaklaşımıyla önyüzden kullanıcıdan aldığı bilgileri arka tarafta bir kredi başvuru servisine iletilmesi ve ilgili kredi başvuru sonucunun kullanıcıya gösterilip sms atılması ve dbye kaydedilmesi üzerine yapılmış bir projedir.
-Proje modüler bir yapıdadır.İçerisinde 4 modul barındırmakdır,
-
credit
- account endpoint barındırır, müsteri bilgilerini mysqlden almamızı sağlar
- credit enpointi barındırır, formdan gelen bilgiler alınır ve credi servisine yollanır
- aldığı verileri doğrular, daha sonra creditscore servisten müşteri skorunu alır
- algoritma dogrultusunda işlemler yapar
-
Kredi skoru 500’ün altında ise kullanıcı reddedilir. (Kredi sonucu: Red)
-
Kredi skoru 500 puan ile 1000 puan arasında ise kredi başvurusu onaylanır ve
- Aylık geliri 5000 TL’nin altında ise kullanıcının ve kullanıcıya 10.000 TL lmt atanır. Kredi Sonucu: Onay)
- Aylık geliri 5000 TL’nin üstünde ise kullanıcının ve kullanıcıya AYLIK GELİR BİLGİSİ * KREDİ LİMİT ÇARPANI (3) kadar limit atanır. (Kred Sonucu: Onay)
-
Kred skoru 1000 puana eşit veya üzerindeyse kullanıcıya AYLIK GELİR BİLGİSİ * KREDİ LİMİT ÇARPANI kadar limit atanır. (Kred Sonucu: Onay)
-
- kredi sonucu hesapladıktan sonra MYSQLde dbye kaydeder
- kredi sonucunu sms olarak atılması icin kafkada sms topigine tc,sonuc ve limit bilgisini yollar.
- kredi sonucunu(Onay veya Red,Limit bilgisini) önyüze gönderilmek üzere endpointe geri yollar.
-
creditscoreservice
- eurokaservis üzerinden gelen istekleri karsılar
- microservis yapıdadır
- 0 ile 1500 arasında sayı return eder
- eurokaservis üzerinden gelen istekleri karsılar
-
eurokaserver
- Microservis tabanlı uygulamalar bu server üzerinden haberleşir.
-
sms_service
- kafkada topigi dinler, microservis yapıdadır MONGO DB ile calısır
- sms atılacak müsterinin bilgisini dinler daha sonra smsservisine iletir
- sms service aldığı sms bilgileriyle eurekaserver üzerinden creditin account servisiyle iletisime gecer
- gelen Tc No üzerinden account servisinden müsteri bilgilerini alır
- sms atar ve sms attığını MONGO DBye kayıt atar.
- kafkada topigi dinler, microservis yapıdadır MONGO DB ile calısır
- MYSQL SERVER KURULU OLMALI -> Credit modulu MYSQL SERVER kullanıyor
- fullstack_kf veritabanı yaratılmalı
- mysql bilgileri application propertiesten gilirmelidir username password localhost gibi
- Kafka ve Zookeeper kurulu olmalı ve projeden önce ayağa kaldırılması lazım
- MONGO DB Server çalışıyor olması lazım ** MYSQL- KAFKA- MONGODB Docker COMPOSE FİLE İLE KURULUMU anlatılmıstır
- Önce EurekaServer modülü çalıştırılmalı daha sonra diğer modüller ayağa kalkmalı
- Bütün modüller çalıştığında localhost:8081 den projenin çalışır olduğu görülebilir
- swagger dökümantasyonuyla 8081 8082 8083 portlarından apilerle işlemler yapabilirsiniz.
- Daha sonra kocfinans_ui repositorisi indirilip çalıştırılmalı
- React.js projesidir
- Node.js ve react kurulu olmalıdır.
- npm start komutuyla önyüz calıstırılır
npm start
git clone https://github.com/titanotank/kocfinans-demo.git
- Daha sonra IDE kullanılarak proje açılır, proje açılınca pom.xml'e göre proje bağımlılıkları indirecektir.
- Daha sonra mysql bilgileri credit modülündeki appplication.propertiesda ayarlanır.
- Proje jdk 11 kullanıyor. ideden proje compilerını değiştirebilirsiniz eğer uyumlu değilse.
Kafka zookeper ve MongoDB yi indirip çalıştırmanız yeterlidir bir ayarlama yapmaya gerek yoktur.
- terminalde kocfinans-demo projesinin icerisine girilir ve dir (ls) komutuyla dosyalar görüntülenir. docker-compose.ylm file listener görülür
sudo docker-compose -f docker-compose.yml up -d
- Kurulumlar yapıldan sonra docker ps ile bütün programların ayakta olduğu görülür
sudo docker ps
- Kurulumlar tamamlanmıştır daha sonr Proje Çalıştırılması kısmına geçilir.
- EurekaServer modulündeki EurekaServer applicationi ilk olarak çalıştırılır. localhost:9999 dan görüntülenebilir.
- Diğer modüllerdeki projelerin hepsi çalıştırılır.
- localhost:8081 8082 8083 ten swagger dökümanlarından bakılabilir.
##Proje Önyüzü Uyarı proje önyüzünü calıstırmak icin kocfinans-ui projesinin indirip calıstırmalısız. Fullstack projenin bir parcası olduğu icin ekran görüntüsünü buraya koyuyorum