Spring boot uygulaması başlatılmadan önce kafkanın logları okuyabilmesi için zookeeper ile kafkanın çalıştırılmış olması gerekmektedir.
Kullanıcının Windows kullanıcısı olduğunu ve Kafka dosyasının "D:\kafka_2.13-2.7.0" adresine kurulu olduğunu varsayarak:
zookeeper başlatmak için
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
kafkayı başlatmak için
.\bin\windows\kafka-server-start.bat .\config\server.properties
komutlarını girmesi gereklidir.
- Zookeeper'ı başlatmak ![zookeeper_başlat](https://github.com/basarYargici/Kartaca/blob/dev/assets/(3)%20zookeeper%20work.png)
- Kafka'yı başlatmak ![kafka_başlat](https://github.com/basarYargici/Kartaca/blob/dev/assets/(2)%20kafka%20work.png)
- Spring boot application'ı başlatmak ![spring_boot_başlat](https://github.com/basarYargici/Kartaca/blob/dev/assets/(1)%20spring%20work.png)
- http://localhost:8080/api/cities üzerinden tüm şehirlere JSON formatında ulaşılabilir ![şehirler](https://github.com/basarYargici/Kartaca/blob/dev/assets/(4)%20get%20all%20cities.png)
- http://localhost:8080/api/cities/{id} üzerinden id si belirtilen şehire JSON formatında ulaşılabilir ![şehir](https://github.com/basarYargici/Kartaca/blob/dev/assets/(7)%20get%20city%20by%20id.png)
- http://localhost:8080/api/cities/add üzerinden veritabanına yeni şehir eklenebilir ![şehir_ekle](https://github.com/basarYargici/Kartaca/blob/dev/assets/(8)%20add%20city.png)
- http://localhost:8080/api/cities/delete üzerinden veritabanından şehir sillinebilir ![şehir_sil](https://github.com/basarYargici/Kartaca/blob/dev/assets/(8)%20add%20city.png)
- http://localhost:8080/api/cities/update üzerinden veritabanındaki bir şehir güncellenebilir ![şehir_güncelle](https://github.com/basarYargici/Kartaca/blob/dev/assets/(8)%20add%20city.png)
- bu işlemler aynı zamanda log verileri ile de yapılabilir ![loglar](https://github.com/basarYargici/Kartaca/blob/dev/assets/(12)%20all%20logs.png)
- Postman, Swagger vb. uygulamalar kullanılabilir.
Docker implementasyonu için gereken zamanı sağlık sorunlarımdan kaynaklı bulamadım. Veritabanı bağlantısında sorun yaşadım ve daha fazla üzerinde duramadım. Bundan dolayı uygulamayı kendi programınızda derleyip çalıştıramazsınız. Ancak kendi bilgisayarımda çalışır halde olduğu için ekran görüntüleri ile burada anlatmaya çalıştım.
Verilen bu görev ile birlikte 2 hafta içerisinde daha önce edinmediğim tecrübeler edindim. Kendi adıma ilkler dizisi oldu bu görev.
- Spring Boot ile ilk kez bir proje çıkardım ve JAVA ile ilk kez REST API yazdım
- Apache Kafka'yı bu proje ile birlikte ilk kez duydum ve projemde kullanarak producer-consumer yapısını kurdum
- Her ne kadar tamamlayamasam da Docker ile de ilk tanışmam ve üzerinde kafa yormam bu proje ile gerçekleşti