🚘 RentACarsProject 🚘

Veritabanı Tabloları

Projede kullanılan tüm tablolar aşağıdaki fotoğrafta gözüktüğü gibidir.

image

🌿 KATMANLAR

Proje katmanli mimari kulanılarak hazırlanmıştır. Temel 5 katmanımız bulunmaktadır. Bu katmanlar Entities, DataAccess, Business, Core ve WebApi katmanlarıdır. Çoğu katmanda yer alan iki ana klasör bulunmaktadır. Bunlar Abstract ve Concrete klasörleridir.

  • Abstract: Soyut nesnelerinin tutulduğu klasördür.
  • Concrete: Soyut nesnelerden türeyen somut nesnelerin tutulduğu klasördür.
  1. Entities Katmanı Veritabanındaki tabloların karşılığı bu katmanda tutuluyor. Her bir tablo için bir entity oluşturmamız gerekiyor. Ayrıca Dto(Data Transfer Object) ile çaşitli entityleri kapsayan kendi nesnelerimizi oluşturabiliyoruz.

image

  1. DataAccess Katmanı Veritabanı CRUD (Ekleme, Okuma, Güncelleme ve Silme) işlemlerini EntityFramework kullanarak bu katmanda hallediyoruz. Bu katman Core ve Entity katmanını referans alır. Diğer katmanlardan referans almaz.

image

  1. Business Katmanı Bu katman, uygulama katmanı(Web Api) ile DataAccess katmanı arasındaki veri işleme olayını gerçekleştirir. Bir nevi ikisi arasında köprü görevi görür. Bu katmanın önemli kısmı ise tüm doğrulama ve veri kontolünü gerçekleştirmesidir. Bu katmanda Abstact, Concrete, Constant klasörleri bulunmaktadır. Proje devamında Adapters, DependencyResolvers, ValidationRules klasörleri de eklenecektir.
  • Constants: Bu klasörde business katmanında kullandığımız değişmeyen değerleri tutuyoruz. Örneğin; Messages sınıfı.

image

  1. Core Katmanı Bu katman, projeden bağımsız olarak projenin ana çekirdek kısımlarını oluşturuyor. Bu katman asla diğer katmanları referans almaz. Bu katmanı istediğimiz herhangi bir projede hiç değişiklik yapmadan aynen kullanabiliriz. Bu katmanda; DataAccess, Entities, Utilities klasörleri yer almaktadır ve proje geliştirildikçe eklenecek klasörler de bulunmaktadır.
  • DataAccess: Bu katmanda DataAccess katmanında yer alan Temel interface yapıları ve EntityFramework için genel Base sınıf bulunmaktadır.
  • Entities: Birbirinden bağımsız tüm projelerde yer alacak genel interface ve ana sınıflar bulunmaktadır.
  • Utilities: Core katmanının belkide en önemli kısmı bu diyebiliriz. Tüm alt araçların yer aldığı bu klasörde; Helper sınıflar, Results klasörleri bulunmaktadır. Bu klasörleri kısaca açıklar isek;
    • Helpers: Tüm projelerde yer alacabilecek yardımcı sınıfların yer aldığı klasördür.
    • Results: Bu klasörde uygulama boyunca verilerin yönetebilmeyi kolaylaştıran sınıflar yer almaktadır.Verinin bilgisi, mesaj bilgisi veya dönen verinin success bilgisini içerir.

image

MERVE KİBİR