-
Domain Driven Design: Hızlı değişen gereksinimlere hızlı adaptasyon sağlayan, kolay ölçeklenebilir, esnek ve yüksek erişilebilir bir yaklaşımı olduğu için tercih edilmiştir.
-
Repository Pattern : Veriye erişimin ve yönetimin tek noktaya indirilmesini sağlamak amacıyla kullanılmıştır.
-
Unit Of Work Pattern: İş katmanında yapılan her değişikliğin anlık olarak database e yansıması yerine, işlemlerin toplu halde tek bir kanaldan gerçekleşmesi sağlanmıştır.
-
Abstract Factory Pattern: İlişkisel olan birden fazla nesnenin oluşturulmasında tek bir arayüz tarafından değil her ürün ailesi için farklı bir arayüz tanımlayarak sağlanmaktadır.
-
SOLID prensiplerine uygun olarak geliştirme yapılmıştır.
-
TDD uygulanmıştır.
- Automapper
- Dapper
- FluentValidation
- Castle Windsor : Uygulama içerisinde kullanılan objelerin instance' larının yönetimi ve uygulama boyunca yaşam döngüsünün kontrolü içn kullanılmıştır. (Autofac'te kullanılabilirdi.)
- Jwt : Authentication
Veritabanı MySQL dir. Veritabanı script'i data klasörünün altındadır. Default kullanıcı girişi aşağıdaki gibir. Aşağıdaki yöntemler ile çalıştırabilirsiniz.
Email: admin@admin.com
Password: 123456
Çalıştırmak için
docker-compose up
http://localhost:8080/swagger/index.html
Sonlandırmak için
docker-compose down -v
data klasörünün altındaki init.sql scripti yüklenmelidir.
appsettings.json dosyasından aşağıdaki connection'ları localhost olarak değiştirerek çalıştırabilirsiniz.
"ConnectionString": {
"Default": "server=localhost;port=3306;database=blog;userid=root;pwd=dbuserpassword;"
},
"Cache": {
"RedisConnection": "localhost:6379"
}
İletişim: ercanatbas@hotmail.com