Skip to content

Latest commit

Β 

History

History
197 lines (178 loc) Β· 5.42 KB

File metadata and controls

197 lines (178 loc) Β· 5.42 KB

Bu proje nitelikli yazılım geliştirici kampı eğitimi tekrarı niteliğinde hazırlanmıştır. Proje Aspect'ler (Validation[FluentValidation], Transaction, Cache, Performance) barındırmaktadır. JWT entegre edilmiştir ve Autofac desteği kullanılmıştır. ReCap Project : Araba Kiralama Sistemi Rent A Car Entities, DataAccess, Business,ConsoleUI, Core ve WebAPI katmanlarından oluşan araba kiralama projesidir. Bu projede katmanlı mimari yapısı ve SOLID prensiplerine dikkat edilerek yazılmıştır. JWT entegrasyonu; Transaction, Cache, Validation ve Performance aspect'lerinin implementasyonu gerçekleştirilmiştir. Validation için FluentValidation desteği, IoC için ise Autofac desteği eklenmiştir.

Katmanlar πŸ—ƒ Entities Layer πŸ“‚ Concrete πŸ“ƒ Brand.cs πŸ“ƒ Car.cs πŸ“ƒ CarImage.cs πŸ“ƒ Color.cs πŸ“ƒ Customer.cs πŸ“ƒ Rental.cs

πŸ“‚ DTOs πŸ“ƒ CarDetailDto.cs πŸ“ƒ RentalDetailDto.cs πŸ“ƒ UserForLoginDto.cs πŸ“ƒ UserForRegisterDto.cs

πŸ—ƒ Business Layer πŸ“‚ Abstract πŸ“ƒ IAuthService.cs πŸ“ƒ IBrandService.cs πŸ“ƒ ICarImageService.cs πŸ“ƒ ICarService.cs πŸ“ƒ IColorService.cs πŸ“ƒ ICustomerService.cs πŸ“ƒ IRentalService.cs πŸ“ƒ IUserService.cs

πŸ“‚ BusinessAspect πŸ“‚ Autofac πŸ“ƒ SecuredOperation.cs

πŸ“‚ Concrete πŸ“ƒ AuthManager.cs πŸ“ƒ BrandManager.cs πŸ“ƒ CarImageManager.cs πŸ“ƒ CarManager.cs πŸ“ƒ ColorManager.cs πŸ“ƒ CustomerManager.cs πŸ“ƒ RentalManager.cs πŸ“ƒ UserManager.cs

πŸ“‚ Constants πŸ“ƒ Messages.cs

πŸ“‚ DependencyResolvers πŸ“‚ Autofac πŸ“ƒ AutofacBusinessModule.cs

πŸ“‚ ValidationRules πŸ“‚ FluentValidation πŸ“ƒ BrandValidator.cs πŸ“ƒ CarValidator.cs πŸ“ƒ ColorValidator.cs πŸ“ƒ CustomerValidator.cs πŸ“ƒ RentalValidator.cs πŸ“ƒ UserValidator.cs

πŸ—ƒ Data Access Layer πŸ“‚ Abstract πŸ“ƒ IBrandDal.cs πŸ“ƒ ICarImageDal.cs πŸ“ƒ ICarDal.cs πŸ“ƒ IColorDal.cs πŸ“ƒ ICustomerDal.cs πŸ“ƒ IRentalDal.cs πŸ“ƒ IUserDal.cs

πŸ“‚ Concrete πŸ“‚ EntityFramework πŸ“‚ Context πŸ“ƒ RentACarContext.cs πŸ“‚ Repository πŸ“ƒ EfBrandDal.cs πŸ“ƒ EfCarImageDal.cs πŸ“ƒ EfCarDal.cs πŸ“ƒ EfColorDal.cs πŸ“ƒ EfCustomerDal.cs πŸ“ƒ EfRentalDal.cs πŸ“ƒ EfUserDal.cs

πŸ—ƒ Core Layer πŸ“‚ Aspect πŸ“‚ Autofac πŸ“‚ Caching πŸ“ƒ CacheAspect.cs πŸ“ƒ CacheRemoveAspect.cs πŸ“‚ Expection πŸ“ƒ ExceptionLogAspect.cs πŸ“‚ Logging πŸ“ƒ LogAspect.cs πŸ“‚ Performance πŸ“ƒ PerformanceAspect.cs πŸ“‚ Transaction πŸ“ƒ TransactionScopeAscpect.cs πŸ“‚ Validation πŸ“ƒ ValidationAspect.cs

 πŸ“‚ CrossCuttingConcerns
     πŸ“‚ Caching
        πŸ“ƒ ICacheManager.cs
    πŸ“‚ Microsoft
        πŸ“ƒ MemoryCacheManager.cs
    πŸ“‚ Logging
        πŸ“ƒ LogDetail.cs
        πŸ“ƒ LogDetailWithException.cs
        πŸ“ƒ LogParameter.cs
    πŸ“‚ Log4Net
        πŸ“ƒ LoggerServiceBase.cs
        πŸ“ƒ SerializableLogEvent.cs
    πŸ“‚ Layouts
        πŸ“ƒ JsonLayout.cs
    πŸ“‚ Loggers
        πŸ“ƒ FileLogger.cs
πŸ“‚ Validation
        πŸ“ƒ ValidationTool.cs

πŸ“‚ DataAccess
        πŸ“ƒ IEntityRepository.cs
πŸ“‚ EntityFramework
        πŸ“ƒ EfEntityRepositoryBase.cs

 πŸ“‚ DependencyResolvers
        πŸ“ƒ CoreModule.cs

 πŸ“‚ Entities
        πŸ“ƒ IDto.cs
        πŸ“ƒ IEntity.cs
 πŸ“‚ Concrete
        πŸ“ƒ OperationClaim.cs
        πŸ“ƒ User.cs
        πŸ“ƒ UserOperationClaim.cs

  πŸ“‚ Extensions
        πŸ“ƒ ClaimExtensions.cs
        πŸ“ƒ ClaimsPrincipalExtensions.cs
        πŸ“ƒ ServiceCollectionExtensions.cs

 πŸ“‚ Utilities
    πŸ“‚ Business
       πŸ“ƒ BusinessRules.cs
    πŸ“‚ Helpers
       πŸ“ƒ FileHelper.cs
    πŸ“‚ Interceptors
       πŸ“ƒ AspectInterceptorSelector.cs
       πŸ“ƒ MethodInterception.cs
       πŸ“ƒ MethodInterceptionBaseAttribute.cs
    πŸ“‚ IoC
       πŸ“ƒ ICoreModule.cs
       πŸ“ƒ ServiceTool.cs
    πŸ“‚ Messages
       πŸ“ƒ AspectMessages.cs
    πŸ“‚ Results
       πŸ“ƒ IDataResult.cs
       πŸ“ƒ DataResult.cs
       πŸ“ƒ SuccessDataResult.cs
       πŸ“ƒ ErrorDataResult.cs
       πŸ“ƒ IResult.cs
       πŸ“ƒ Result.cs
       πŸ“ƒ SuccessResult.cs
       πŸ“ƒ ErrorResult.cs
    πŸ“‚ Security
        πŸ“‚ Encryption
       πŸ“ƒ SecurityKeyHelper.cs
       πŸ“ƒ SigningCredentialsHelper.cs
        πŸ“‚ Hashing
       πŸ“ƒ HashingHelper.cs
        πŸ“‚ JWT
       πŸ“ƒ AccessToken.cs
       πŸ“ƒ ITokenHelper.cs
       πŸ“ƒ JwtHelper.cs
       πŸ“ƒ TokenOptions.cs
   πŸ—ƒ Presentation Layer 
       πŸ“ƒ Program.cs

    πŸ—ƒ WebAPI Layer 
       πŸ“ƒ Startup.cs 
   πŸ“‚ Controllers
       πŸ“ƒ AuthController.cs 
       πŸ“ƒ BrandsController.cs 
       πŸ“ƒ CarImagesController.cs 
       πŸ“ƒ CarsController.cs  
       πŸ“ƒ ColorsController.cs 
       πŸ“ƒ CustomersController.cs 
       πŸ“ƒ RentalsController.cs 
       πŸ“ƒ UsersController.cs

     SQL Query 
       πŸ“ƒCarDataSQLQuery.sql