ReCapProject

ReCapProject is a car rental project that belongs to the C# programming language, adhering to SOLID principles and with an N-layer architecture structure; it is still under development.

The database was created based on the SQL Server Object Explorer section in Visual Studio 2019. At the bottom, you can see the field names and data types of the tables belonging to this database.

ReCapProject consists of Entities, DataAccess, and Business layers. Initially, the ConsoleUI layer was used to simulate operations on these layers. Later, with the addition of WebAPI to the project, Postman was used for testing operations. Let's examine these layers closely:

Entities Layer

This layer is created for database objects. In the Concrete folder, there are only 'classes 'created for tables, while in the DTOs folder section, there are 'classes' created to combine properties in different tables. You can review the details using the links at the bottom.

Data Access Layer

Database-related operations and database connections are located on this layer. You can review the details using the links at the bottom.

    πŸ“¦NuGet Packages
      πŸ“ Microsoft.EntityFrameworkCore.SqlServer(v3.1.11)

Business Layer

Business rules for Operations contained in the DataAcess layer are included in this layer. You can review the details using the links at

    πŸ“¦NuGet Packages
      πŸ“ Autofac(v6.1.0)
      πŸ“ Autofac.Extras.DynamicProxy(v6.0.0)
      πŸ“ FluentValidation(v9.5.1)
      πŸ“ Microsoft.AspNetCore.Http(v2.2.2)
      πŸ“ Microsoft.AspNetCore.Http.Abstractions(v2.2.0)
      πŸ“ Microsoft.AspNetCore.Http.Features(v5.0.3)
      πŸ“ Microsoft.Extensions.DependencyInjection(v5.0.1)

Core Layer

The Core layer is a layer where operations are generalized with generic structures, with potential that can be used for each project. CRUD operations are generalized with this layer only for objects that depend on the IEntity interface. You can review the details using the links at the bottom.

    πŸ“¦NuGet Packages
      πŸ“ Autofac(v6.1.0)
      πŸ“ Autofac.Extras.DynamicProxy(v6.0.0)
      πŸ“ FluentValidation(v9.5.1)
      πŸ“ Microsoft.AspNetCore.Http.Features(v5.0.3)
      πŸ“ Microsoft.EntityFrameworkCore.SqlServer(v3.1.11)
      πŸ“ Microsoft.IdentityModel.Tokens(v6.8.0)
      πŸ“ System.IdentityModel.Tokens.Jwt(v6.8.0)

WebAPI

    πŸ“¦NuGet Packages
      πŸ“ Autofac.Extensions.DependencyInjection(v7.1.0)
      πŸ“ Microsoft.AspNetCore.Authentication.JwtBearer(v3.1.12)

ConsoleUI

This layer is used to control written operations. Operations tested in this layerπŸ”—here you can reach. At the bottom, you can see the results of some operations as an example.

With the addition of the WebAPI layer to the project, Postman was used as a test tool, as the ConsoleUI layer was not sufficient. At the bottom, you can see the test results of some operations as an example.

-Cars





-Rental











-User














-CarImages