Öncelikle bana bu projeyi yazmamda büyük desteği olan, bana çok değerli bilgiler katan Engin Demiroğ Hocama teşekkür ediyorum. Ayrıca bu yolda bana destek olan arkadaşlarıma ve aileme de teşekkürlerimi iletiyorum.
Projeyi yazmamdaki amacımdan bahsetmek istiyorum çünkü bunu projeyi daha anlamlı kılacak bir unsur olarak görüyorum. Başlıca amacım C# dilini, .NET dünyasını tanımak, bu yolda uzmanlaşmaktır. Yazdığım bu proje kendimi geliştirmeme vesile oluyor. Ayrıca bu proje ile birlikte SOLID yazılım tekniklerini öğreniyorum. Yazılım Geliştirici olma yolunda ilerlerken temelimi sağlam atmaya çalışıyorum ve sadece kendi penceremden değil, bu projeyi okuyacak, üstünde çalışacak insanların penceresinden de bakarak çalışmalarıma devam ediyorum.
Projem adından da anlaşılacağı üzere bir araba kiralama sistemidir. Projemde, kendi oluşturduğum database üzerinden gelen bilgileri yönlendirerek;
☑️ Araba Ekle/Sil/Güncelle/Listele
☑️ Araba Gücü(HP) Ekle/Sil/Güncelle/Listele
☑️ Araba Fotoğrafı Ekle/sil/Güncelle/Listele
☑️ Marka Ekle/Sil/Güncelle/Listele
☑️ Renk Ekle/Sil/Güncelle/Listele
☑️ Kullanıcı Ekle/Sil/Güncelle/Listele
☑️ Müşteri Ekle/Sil/Güncelle/Listele
☑️ Araba Kiralama Özelliği
gibi imkanlar mevcuttur. Ayrıca projem bir katmanlı mimaridir. Projemin katmanlı mimarisi sayesinde kodun anlaşılabilirliği yüksektir. Tüm yazılan kodlar bir düzen içerisinde çalışmaktadır. Projemde kullandığım teknolojilerden bahsedeceğim fakat öncesinde sizden talep edilen farklı bir teknoloji kullanmak istediğinizde, projem herhangi bir zorluk yaratmayacaktır. Tamamen "Plug and Play" prensipi göz önüne alınarak tasarlanmıştır.
☑️ Database → SQL
☑️ Çatı → EntityFramework
☑️ IoC Container → Autofac
☑️ Arabirim → WebAPI
☑️ Katmanlar → Business,DataAccess,Entity,Core,WebAPI
☑️ Autofac desteği eklendi.
☑️ FluentValidation uygulaması sisteme entegre edildi.
☑️ AOP Desteği eklendi.
☑️ BusinessRules motoru eklendi.
☑️ JWT entegrasyonu yapıldı.
☑️ Security sistemi eklendi. Login, Register olma ve Yetki uygulaması sisteme eklendi.
☑️ Caching Aspect'i eklendi.
☑️ Transaction Aspect'i eklendi.
☑️ Performance Aspect'i eklendi.
☑️ Sistemde kayıtlı arabalar için fotoğraf ekleme/silme/güncelleme özelliği entegre edildi..
🗃 Business
📂 Abstract
📃 ICarService.cs
📃 IBrandService.cs
📃 ICarImageService.cs
📃 IColorService.cs
📃 ICustomerService.cs
📃 IRentalService.cs
📃 IUserService.cs
📃 IPowerService.cs
📃 IAuthService.cs
📂 Concrete
📃 CarManager.cs
📃 BrandManager.cs
📃 CarImageManager.cs
📃 ColorManager.cs
📃 CustomerManager.cs
📃 RentalManager.cs
📃 UserManager.cs
📃 PowerManager.cs
📃 AuthManager.cs
📂 BusinessAspects
📂 Autofac
📃 SecuredOperation.cs
📂 Constants
📃 Messages.cs
📂 DependencyResolvers
📂 Autofac
📃 AutofacBusinessModule.cs
📂 ValidationRules
📂 FluentValidation
📃 BrandValidator.cs
📃 CarValidator.cs
📃 CarImageValidator.cs
📃 ColorValidator.cs
📃 CustomerValidator.cs
📃 RentalValidator.cs
📃 UserValidator.cs
📃 PowerValidator.cs
🗃 Core
📂 Aspects
📂 Autofac
📂 Validation
📃 ValidationAspect.cs
📂 Caching
📃 CacheAspect.cs
📃 CacheRemoveAspect.cs
📂 Performance
📃 PeformanceAspect.cs
📂 Transaction
📃 TransactionScopeAspect.cs
📂 CrossCuttingConcerns
📂 Validation
📃 ValidationTool.cs
📂 Caching
📃 ICacheManager.cs
📂 Microsoft
📃 MemoryCacheManager.cs
📂 DependencyResolvers
📃 CoreModule.cs
📂 DataAccess
📃 IEntityRepository.cs
📂 EntityFramework
📃 EfEntityRepositoryBase.cs
📂 Entities
📂 Abstract
📃 IDto.cs
📃 IEntity.cs
📂 Concrete
📃 OperationClaim.cs
📃 User.cs
📃 UserOperationClaim.cs
📂 Extensions
📃 ClaimExtensions.cs
📃 ClaimsPrincipalExtensions.cs
📃 ServiceCollectionExtensions.cs
📂 Utilities
📂 Interceptors
📃 AspectInterceptorSelector.cs
📃 MethodInterception.cs
📃 MethodInterceptionBaseAttribute.cs
📂 BusinessRules
📃 BusinessRules.cs
📂 Helpers
📃 FileHelper.cs
📂 IoC
📃 ICoreModule.cs
📃 ServiceTool.cs
📂 Autofac
📂 Encryption
📃 SecurityKeyHelper.cs
📃 SigningCredentialsHelper.cs
📂 Hashing
📃 HashingHelper.cs
📂 JWT
📃 AccessToken.cs
📃 ITokenHelper.cs
📃 JwtHelper
📃 TokenOptions.cs
📂 Results
📃 IDataResult.cs
📃 DataResult.cs
📃 SuccessDataResult.cs
📃 ErrorDataResult.cs
📃 IResult.cs
📃 Result.cs
📃 SuccessResult.cs
📃 ErrorResult.cs
🗃 Data Access
📂 Abstract
📃 ICarDal.cs
📃 IBrandDal.cs
📃 ICarImageDal.cs
📃 IColorDal.cs
📃 ICustomerDal.cs
📃 IRentalDal.cs
📃 IUserDal.cs
📃 IPowerDal.cs
📃 IUserDal.cs
📂 Concrete
📂 EntityFramework
📃 ReCapProjectDatabaseContext.cs
📃 EfCarDal.cs
📃 EfBrandDal.cs
📃 EfCarImageDal.cs
📃 EfColorDal.cs
📃 EfCustomerDal.cs
📃 EfRentalDal.cs
📃 EfUserDal.cs
📃 EfPowerDal.cs
📃 EfUserDal.cs
🗃 Entities
📂 Concrete
📃 Car.cs
📃 Brand.cs
📃 CarImage.cs
📃 Color.cs
📃 Customer.cs
📃 Rental.cs
📃 User.cs
📃 Power.cs
📂 DTOs
📃 CarDetailDto.cs
📃 RentalDetailDto.cs
📃 UserForLoginDto.cs
📃 UserForRegisterDto.cs
🗃 WebAPI
📃 Startup.cs
📃 Program.cs
📂 Controllers
📃 BrandsController.cs
📃 CarsController.cs
📃 CarImagesController.cs
📃 ColorsController.cs
📃 CustomersController.cs
📃 RentalsController.cs
📃 UsersController.cs
📃 PowersController.cs
📃 AuthController.cs
Cars | Brands | Colors | Powers | ||||||||||||||||||||||||||||||||||||||
|
|
|
|
Customers | Rentals | Users | CarImages | ||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Users | OperationClaims | UserOperationClaims | ||||||||||||||||||||||||||||||
|
|
|