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.
Bilgileri gerekli koşullara göre işlemek veya denetlemek için oluşturulmuştur. İş kuraları yazılır.
Veritabanı CRUD işlemleri gerçekleştirmek için oluşturulmuştur.
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.
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 |
Cards |
CardId |
NameOnTheCard |
CardNumber |
CardCvv |
ExpirationDate |
MoneyInTheCard |
CarImages |
CarImageId |
CarId |
ImagePath |
Date |
Cars |
CardId |
BrandId |
ColorId |
ModelYear |
DailyPrice |
Description |
CarFindex |
Customers |
CustomerId |
UserId |
CompanyName |
CustomerFindex |
Rentals |
RentalId |
CarId |
CustomerId |
RentDate |
ReturnDate |
UserOperationClaims |
Id |
UserId |
OperationClaimId |
Users |
Id |
FirstName |
LastName |
Email |
PasswordHash |
PasswordSalt |
Status |