Hepsiburada Backend Bootcamp 2.Hafta Ödevi
Temel CRUD işlemleri ile ilaç kaydı yapılabilen bir resful Web-API projesi. Swagger desteği eklenmiştir. Database olarak EntityFramework ile oluşturulmuş bir database kullanılmıştır. Company nesnesi için hem EntityFramework hem Dapper repositorysi yazılmıştır. Sort ve list özellikleri için System.Linq.Dynamic.Core
paketinin sorgularda string
kullanabilme işlevi kullanılarak extension oluşturulmuştur. Dto mappinglerinde Mapster kullanılmıştır. Serilog ile konsola, .txt
ve .json
uzantılı dosyalara loglama yapmaktadır. DockerHub'a publish edilmiştir ancak içerisinde sadece uygulama mevcuttur, database dahil değildir. https://hub.docker.com/r/cagdem/pharmacyapi
Database view:
Konsol log örneği:
Swagger:
Get ile kullanıldığında bütün firmaları getirir.
Post ile kullanıldığında body içerisindeki firmayı ekler.
Get ile kullanıldığında routerdan gelen id
'ye sahip firmayı getirir.
Delete ile kullanıldığında routerdan gelen id
'ye sahip firma silinir.
Put ile kullanıldığında routerdan gelen id
'ye sahip firmayı güncellemek için body içerisindeki firmayı kullanır.
Post ile body içerisinde gönderilen ilacı ekler.
Get ile kullanıldığında routerdan gelen id
'ye sahip ilacı getirir.
Put ile kullanıldığında routerdan gelen id
'ye sahip ilacı güncellemek için body içerisindeki ilacı kullanır.
Delete ile kullanıldığında routerdan gelen id
'ye sahip ilac silinir.
Get ile kullanıldığında bütün ilaçları databasedeki sıralamaya göre listeler.
Get ile kullanıldığında istenilen alanda istenilen değer sorgulanabilir. Örneğin api/v1/ilaclar/List?list=Company="Y"
yapıldığında Y firmasının ilaçları listelenir.
Get ile kullanıldığında verilen alana göre sıralanır. Örneğin /api/v1/ilaclar/Sort?sort=name
yapıldığında bütün veriler isme göre alfabetik sıralanır.
- Http dönüş kodları düzenlenmeli. Dönüşlerin detaylandırılabilmesi için özel bir result nesnesi düzenlenebilir.
- Order ve OrderDetail nesneleri için servis ve controller yazılmalı.