Skip to content

hsnbskn/ReCapProject

Repository files navigation

ReCapProject - Araba Kiralama Sistemi

  • Bu repo "Yazılım Geliştirici Yetiştirme Kampı" için oluşturulmuştur.
  • ReCapProject Entities, DataAccess, Business, Core ve WebAPI katmanlarından oluşan "Araba Kiralama Sistemi" adlı kurumsal bir C# projesidir.
  • Car, Color, Brand, User, Customer, Rental nesneleri ve bu nesnelerin operasyonlarından oluşan bu proje zaman içerisinde geliştirilecektir.
  • Proje hakkındaki detayları seri halinde blog sayfamda paylaşıyor olacağım.

Entities Katmanı

  • Proje veritabanında yer alan tablolara karşılık gelen nesneler burada tutulmaktadır.
  • Bu katman kendi içerisinde Abstract (Soyut Nesneler) ve Concrete (Somut Nesneler) olmak üzere ikiye ayrılmaktadır.
Abstract Klasörü
  • IEntity.cs (Ortak olması nedeniyle Core Katmanına taşınmıştır.)
Concrete Klasörü
DTOs Klasörü

Data Acces Katmanı

  • Başlangıç olarak memory (Bellek) üzerinde çalışılacağı için InMemory klasöründe yer alan InMemoryCarDal.cs içerisinde operasyonları oluşturuldu. İlerleyen zamanlarda projeye Entity Framework ekleyeceğim için böyle bir yapı oluşturuldu. Entity Framework eklendiği zaman ona ait olan dosyalar EntityFramework içerisinde yer alacaktır. Bu şekilde PnP olarak sistem alt yapısı hızlıca değiştirilebilecektir.
  • Proje içerisinde EntityFrameWork alt yapısı kullanılmıştır.
  • CRUD işlemlerinin gerçekleştirilmesini sağlayan katmandır. Veritabanı ile programın iletişimini sağlar.
Abstract Dosyası
Concrete Klasörü

Business Katmanı

  • Bu katmanda gerekli olan iş kontrolleri ve kuralları yer almaktadır.
  • İçerisinde başarı ve hata mesajlarını tutan dosyamız yer almaktadır.
  • Abstract (Soyut Nesneler), Concrete (Somut Nesneler) ve Constants(Mesaj değerleri) klasörlerinden oluşmaktadır.
Abstract Klasörü
Concrete Klasörü
Constants Klasörü

Core Katmanı

  • Core Katmanı asla başka bir katmana bağımlı olamaz! Tamamen bağımsızdır.
  • Bu katmanda ortak kodlar yer almaktadır. Projenin kurumsal bir yapıya sahip olmasını sağlar.
  • Diğer katmanlar Core katmanına bağımlıdır ve referans alırlar.
  • Farklı projelerde PnP mantığıyla CRUD işlemlerini rahatlıkla kullanabiliriz.
  • Daha sonra kodlanacak olan benzer projelere çatı niteliğindedir.
  • DataAccess klasörü DataAcccess katmanıyla ilgili nesneleri, Entities klasörü Entities katmanı ile ilgili nesneleri tutmak için oluşturulmuştur.
  • Core katmanının .NET Core ile hiç bir alakası yoktur.
DataAccess Klaösörü
Entities Klasörü
Utilities Klasörü

WebAPI Katmanı

Output (ConsoleUI)

Image

Output (Postman Test)

Image

Program Files

Image

WebAPI Files

Images

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages