Skip to content

b-tekinli/ReCapProject-Backend

Repository files navigation

ReCapProject - Araç Kiralama Sistemi

. Bu repo Yazılım Geliştirici Yetiştirme Kampı'nda yapılan çalışmaları kapsayan Araç Kiralama Projesi'ni içerir.

📌 Getting Started

N-Katmanlı mimari yapısı ile hazırlanan, EntityFramework kullanılarak CRUD işlemlerinin yapıldığı, Wpf arayüzü ile çalışan, Araç Kiralama iş yerlerine yönelik örnek bir proje.

📚Layers

entities

Entities Layer

Veritabanı nesneleri için oluşturulmuş Entities Katmanı'nda Abstract ve Concrete olmak üzere iki adet klasör bulunmaktadır.Abstract klasörü soyut nesneleri, Concrete klasörü somut nesneleri tutmak için oluşturulmuştur.

📁Abstract
      :page_facing_up: IEntity.cs (Ortak Kod Olduğu İçin Core Katmanına Aktarıldı.)

📁Concrete
      :page_facing_up: Brand.cs
      :page_facing_up: Car.cs
      :page_facing_up: Color.cs

business

Business Layer

Sunum katmanından gelen bilgileri gerekli koşullara göre işlemek veya denetlemek için oluşturulan Business Katmanı'nda Abstract,Concrete,Utilities ve ValidationRules olmak üzere dört adet klasör bulunmaktadır.Abstract klasörü soyut nesneleri, Concrete klasörü somut nesneleri tutmak için oluşturulmuştur.Utilities ve ValidationRules klasörlerinde validation işlemlerinin gerçekleştiği classlar mevcuttur.

📁Abstract
     :page_facing_up: ICarService.cs
     :page_facing_up: IColorService.cs
     :page_facing_up: IBrandService.cs


📁Concrete
      :page_facing_up: CarManager.cs
      :page_facing_up: ColorManager.cs
      :page_facing_up: BrandManager.cs

📁Utilities
      :page_facing_up: ValidationTool.cs
📁ValidationRules
      :file_folder: FluentValidation
             :page_facing_up: CarValidator.cs

dal

Data Access Layer

Veritabanı CRUD işlemleri gerçekleştirmek için oluşturulan Data Access Katmanı'nda Abstract ve Concrete olmak üzere iki adet klasör bulunmaktadır.Abstract klasörü soyut nesneleri, Concrete klasörü somut nesneleri tutmak için oluşturulmuştur.

📁Abstract
     :page_facing_up: IBrandDal.cs
     :page_facing_up: ICarDal.cs
     :page_facing_up: IColorDal.cs
     :page_facing_up: IEntityRepository.cs


📁Concrete
      :file_folder: EntityFramework
             :page_facing_up: EfBrandDal.cs
             :page_facing_up: EfCarDal.cs
             :page_facing_up: EfColorDal.cs
             :page_facing_up: NorthwindContext.cs
      :file_folder: InMemory

core

Core Layer

Bir framework katmanı olan Core Katmanı'nda DataAccess, Entities, Utilities olmak üzere 3 adet klasör bulunmaktadır.DataAccess klasörü DataAccess Katmanı ile 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 bağlantısı yoktur.Oluşturulan core katmanında ortak kodlar tutulur. Core katmanı ile, kurumsal bir yapıda, alt yapı ekibi ilgilenir.

⚠ DİKKAT: .
Core Katmanı, diğer katmanları referans almaz.

📁DataAccess
     :page_facing_up: IEntityRepository.cs      :file_folder: EntityFramework
           :page_facing_up: EfEntityRepositoryBase.cs
📁Entities
     :page_facing_up: IEntity.cs      :page_facing_up: IDto.cs

📁Utilities
      :file_folder: Results
          :file_folder: Abstract
                 :page_facing_up: IResult.cs
                 :page_facing_up: IDataResult.cs
          :file_folder: Concrete
               :page_facing_up: DataResult.cs
               :page_facing_up: ErrorDataResult.cs
               :page_facing_up: ErrorResult.cs
               :page_facing_up: Result.cs
               :page_facing_up: SuccessDataResult.cs
               :page_facing_up: SuccessResult.cs

tables

Veritabanı Oluşturma (localdb)

Araba Kiralama Projemiz localdb ile çalışmaktadır. LocalDb'de veritabanı oluşturmak için Visual Studio 2019 için View > SQL Server Object Explorer menü yolunu takip edebilirsiniz.Pencere açıldıktan sonra SQL Server > (localdb)MSSQLLocalDB altındaki Databases klasörüne sağ tıklayıp Add New Database seçeneğini ile veritabanınızı oluşturabilirsiniz. Veritabanı oluşturulduktan sonra New Query seçerek aşağıda bulunan Sql File ile veritabanınızda olması gereken tabloları oluşturabilirsiniz.

📁Sql File
     :page_facing_up: RecapProjectDb.sql

Tables

Veritabanı tablolarınızı manuel de oluşturabilirsiniz. Tablolar,sutün ve veri tipleri hakkında bilgiler aşağıda listelenmiştir.

.



.

EntityFrameworkCore.SqlServer 3.1.11
FluentValidation 7.3.3

💻ScreenShots

Projenin çalışma anına ait ekran görüntüleri

image image image image image

About

rent a car (will be updated soon)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published