Bir e-ticaret sitesi için sepete ürün ekleme özelliğini barındıran bir projedir. Projede aşağıdaki teknoloji ve yazılım pratikleri uygulanmıştır;
- .Net Core 2.1
- MongoDB
- Katmanlı Mimari
- Design patterns kullanılarak SOLID prensiplerine uygun kod yazılmaya çalışılmıştır.
MongoDB için kurulum gerekmez. cloud.mongodb.com kullanılmıştır. Harici bir kurulum gerektirmeden Visual studio 2017'de açılıp, çalıştırılabilir.
- Projenin içinde iki controller bulunmaktadır: ProductController, ShoppingCartController
- ProductController içindeki AddProduct metoduna ürün listesi göndererek ürün eklenir.
- ShoppingCartController içinde iki metoda sahip.
- CreateShoppingCart ilk kez sepet oluşturulurken çağrılacak metottur. İçindeki ürünleri kontrol eder, eğer ürünler veri tabanında varsa ve stok durumları yeterliyse sepete eklenir yoksa hata döner.
- UpdateShoppingCart sepeti olan bir kullanıcı sepetine yeni ürün ekledikçe çağrılacak metottur. İçindeki ürünleri kontrol eder, eğer ürünler veri tabanında varsa, stok durumları yeterliyse, son olarak daha önce bu ürünün daha önce sepette olup olmadığı kontrol edildikten sonra(daha önce ürün varsa quantity artırılır) sepete eklenir.