This project is the backend side of RentACar project in my repositories. You can check the front end project here =>RentACarFrontEnd
The project consists of 5 layers: Entities, DataAccess, Business, Core and WebAPI.
Each operation is controlled by its own manager that uses Dal classes to implement crud operations. All data access layers implement generic IEntityRepository interface as a common outline.
Autofac IoC Container is used for Dependency Injection and Aspect Oriented Programming was implemented. (Aspects: ValidationAspect, CacheAspect, CacheRemoveAspect, PerformanceAspect, SecuredOperationAspect, TransactionAsepct).
Validation is a Cross Cutting Concern and as regard of AOP, Validation Aspect is created with Autofac using Interceptors. FluentValidation is the Validation Tool used for the verification process.
- Asp.Net Core for Restful api
- MsSql
- EntityFramework Core
- Autofac
- FluentValidation
- Layered Architecture Design Pattern
- AOP
- JWT
- Autofac dependency resolver
- IOC
- Aspects
- File upload
- Asp.Net Core 3.1
- .Net Framework 4.5
- Microsoft.EntityFrameworkCore.SqlServer 3.1.0
- Microsoft.EntityFrameworkCore 3.1.0
- FluentValidation 9.5.1
- Autofac 6.1.0
- Autofac.Extras.DynamicProxy 6.0.0
- Autofac.Extensions.DependencyInjection 7.1.0
- Microsoft.Extensions.DependencyInjection 5.0.1
- Microsoft.AspNetCore.Hosting.Abstractions 2.2.0
- Microsoft.AspNetCore.Http 2.2.2
- Microsoft.AspNetCore.Http.Features 5.0.3
- Microsoft.IdentityModel.Tokens 6.8.0
- System.IdentityModel.tokens.Jwt 6.8.0
- Microsoft.AspNetCore.Authentication.JwtBearer 3.1.12
- Microsoft.AspNetCore.Mvc.NewtonsoftJson 3.1.10
- Microsoft.AspNetCore.Http.Abstractions 2.2.0