Bu proje Fibabanka Spring Boot bootcamp'i kapsamında hazırlanmıştır.
Proje kapsamında Inventory, Shopping ve Commerce olmak üzere 3 microservice geliştirilmiştir.
Invertory mikroservisi ürünler ve kategoriler ile ilgili veritabanı işlemelerini yapmakta ve REST servisi sayesinde gelen HTTP isteklerine cevap vermektedir.
Shopping mikroservisi sepet ile ilgili veritabanı işlemelerini yapmakta ve REST servisi sayesinde gelen HTTP isteklerine cevap vermektedir.
Commerce mikroservisi ise diğer iki mikroservise istek atarak onları yönetmekte ve Client için arayüz sunmaktadır.
- GET http://localhost:8080/commerce/inventory/categories -> Kategorileri getirir
- GET http://localhost:8080/commerce/inventory/products/{categoryId} -> İlgili kategoriye ait ürünleri getirir.
- GET http://localhost:8080/commerce/inventory/product/{productId} -> Id'si verilen ürünü getirir.
- GET http://localhost:8080/commerce/shopping/cart/create -> Yeni bir sepet oluşturarak id'sini döndürür.
- POST http://localhost:8080/commerce/shopping/cart/add -> Body olarak verilen ürünü sepete ekler.
- DELETE http://localhost:8080/commerce/shopping/cart/{cartId}/remove/{productId} -> Sepetten ürünü siler.
- GET http://localhost:8080/commerce/shopping/checkout/{cartId} -> Sepeti bitirir.
- GET http://localhost:8080/commerce/shopping/cart/find/{cartId} -> Sepet detaylarını getirir.
-
http://localhost:8080/test/commerce/inventory/categories adresine GET isteği atılarak veritabanında kayıtlı olan kategoriler getirilmiştir. http://localhost:8080/test/commerce/inventory/categories adresine istek atılarak da JSON formatında çıktı alınabilir.
-
http://localhost:8080/test/commerce/inventory/productsByCategory adresine istek atıldığında kategori id'si 1 olan ürünlerin getirilmesi sağlanmıştır. http://localhost:8080/commerce/inventory/products/{categoryId} adresine istek atılarak da ürünler JSON formatında alınabilir.
-
http://localhost:8080/test/commerce/inventory/product adresine istek atıldığında ürün id'si 2 olan ürün getirilmiştir. http://localhost:8080/commerce/inventory/product/{productId} adresine istek atılarak bu ürünün bilgileri JSON formatında alınabilir.
-
http://localhost:8080/test/commerce/shopping/cart/create adresine istek atıldığında yeni sepet oluşturulması sağlanmıştır. http://localhost:8080/commerce/shopping/cart/create adresine istek atılarak da aynı işlem yapılabilir.
-
http://localhost:8080/test/commerce/shopping/cart/add adresine istek atıldığında default olarak productId'si 2 olan ürünün cartId'si 3 olan sepete eklenmesi sağlanmıştır. http://localhost:8080/commerce/shopping/cart/add adresine POST isteği atılarak istenen ürün sepete eklenebilir.
-
http://localhost:8080/test/commerce/shopping/cart/removeProduct adresine GET isteği atıldığında cartId'si 3 olan sepetten productID'si 2 olan ürünün silinmesi sağlanmıştır. http://localhost:8080/commerce/shopping/cart/{cartId}/remove/{productId} adresine DELETE isteği atarak istenen ürün sepetten silinebilir.
Silindikten sonra sepet detayı:
-
http://localhost:8080/test/commerce/shopping/checkout adresine GET isteği atıldığında cartId'si 3 olan sepetin bitirilmesi sağlanmıştır. http://localhost:8080/commerce/shopping/checkout/{cartId} adresine cartId verilerek istenen sepetin bitirilmesi sağlanabilir.
-
http://localhost:8080/test/commerce/shopping/cart/find adresine GET isteği atıldığında cartId'si 3 olan sepetin detayları gösterilmiştir. http://localhost:8080/commerce/shopping/cart/find/{cartId} adresine cartId ile istek atılarak sepetin detaylarına JSON formatında ulaşılabilir.