GENEL BİLGİLER

Entities, DataAccess, Business, Core ve WebAPI katmanlarından oluşan araç kiralama projesidir. Bu proje, Katmanlı mimari yapısı ve SOLID prensiplerini dikkate alınarak yazılmıştır. JWT entegrasyonu; Transaction, Cache, Validation ve Performance aspect'lerinin implementasyonu gerçekleştirilmiştir. OOP olarak entity framework kullanılmaktadır. Validation için FluentValidation desteği, IoC için ise Autofac desteği eklenmiştir.

Business Layer :

Bilgileri gerekli koşullara göre işlemek veya denetlemek için oluşturulmuştur. İş kuraları yazılır.

Data Access Layer

Veritabanı CRUD işlemleri gerçekleştirmek için oluşturulmuştur.

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ı, diğer katmanları referans almaz.

Packageces

Autofac 6.1.0
Autofac.Extensions.DependencyInjection 7.1.0
Autofac.Extras.DynamicProxy 6.0.0
FluentValidation 10.0.2
Microsoft.AspNetCore.Http 2.2.2
Microsoft.Extensions.DependencyInjection 5.0.1
NETStandard.Library
Microsoft.IdentityModel.Tokens 6.8.0
Newtonsoft.Json 13.0.1
Microsoft.EntityFrameworkCore.SqlServer 3.1.11
Microsoft.AspNetCore.Authentication.JwtBearer 3.1.11

Tablolar

Brands
BrandId BrandName
Cards
CardId NameOnTheCard CardNumber CardCvv ExpirationDate MoneyInTheCard
CarImages
CarImageId CarId ImagePath Date
Cars
CardId BrandId ColorId ModelYear DailyPrice Description CarFindex
Colors
ColorId ColorName
Customers
CustomerId UserId CompanyName CustomerFindex
OperationClaims
Id Name
Rentals
RentalId CarId CustomerId RentDate ReturnDate
UserOperationClaims
Id UserId OperationClaimId
Users
Id FirstName LastName Email PasswordHash PasswordSalt Status