Skip to content

vankenobi/ReferenceApiProject

Repository files navigation

example workflow

Reference API Project

This project is a reference API project designed with a clean architecture. It includes mappers, JWT token, PostgreSQL as the database, and SonarQube for code analysis. The Unit of Work design, repository pattern and FluentValidation are utilized.

How can you run the project ?

Open Terminal and Navigate to Project Directory

First, open your terminal or command prompt and navigate to your project directory:

cd /path/to/your/ReferenceApiProject

Run Docker Compose Command

Ensure that you are in the project folder and run the following command to start the project:

docker-compose up -d

Verify Project Start

Verify Project Start After running the command, verify that your project has started successfully. You can do this by accessing your project in a web browser. Navigate to http://localhost:8081/swagger/index to check if your project is running properly. Additionally, you can also check the logs of your containers for further verification.

To access the tools that used in this project

Stopping the Project

To stop the project and remove the Docker containers, run the following command:

docker-compose down

What technologies consist of this project ?

This project was developed using technologies such as:

Folder Structure

├── Reference.Api
│ ├── Cache
│ │ ├── CacheService.cs
│ │ └── ICacheService.cs
│ ├── Controllers
│ │ ├── AuthController.cs
│ │ └── UserController.cs
│ ├── Data
│ │ └── DataContext.cs
│ ├── Dtos
│ │ ├── Requests
│ │ │ ├── CreateUserRequest.cs
│ │ │ ├── ICommonProperties.cs
│ │ │ ├── LoginUserRequest.cs
│ │ │ └── UpdateUserRequest.cs
│ │ └── Responses
│ │ └── GetUserResponse.cs
│ ├── Enums
│ │ ├── UserRole.cs
│ ├── Extensions
│ │ ├── ConfigureMappingProfileExtension.cs
│ │ ├── HealthCheckConfigureExtension.cs
│ │ ├── JwtBearerOptionsSetup.cs
│ │ └── JwtOptionsSetup.cs
│ ├── Mapper
│ │ └── AutoMapperMappingProfile.cs
│ ├── MiddleWare
│ │ └── CorrelationIdMiddleware.cs
│ ├── Migrations
│ ├── Models
│ │ ├── BaseEntity.cs
│ │ └── User.cs
│ ├── Program.cs
│ ├── Repositories
│ │ ├── Implementations
│ │ │ ├── GenericRepository.cs
│ │ │ ├── UnitOfWork.cs
│ │ │ └── UserRepository.cs
│ │ └── Interfaces
│ │ ├── IGenericRepository.cs
│ │ ├── IUnitOfWork.cs
│ │ └── IUserRepository.cs
│ ├── Security
│ │ ├── IJwtProvider.cs
│ │ ├── JwtProvider.cs
│ │ └── JwtOptions.cs
│ ├── Services
│ │ ├── Implementations
│ │ │ ├── AuthService.cs
│ │ │ └── UserService.cs
│ │ └── Interfaces
│ │   ├── IAuthService.cs
│ │   └── IUserService.cs
│ └── Utils
│ ├── CreateUserValidator.cs
│ ├── UpdateUserValidator.cs
│ └── UserBaseValidator.cs
└── Reference.Api.Test
├── AuthServiceFixture.cs
├── GlobalUsings.cs
├── JwtProviderFixture.cs
├── Reference.Api.Test.csproj
├── UpdateUserValidatorFixture.cs
├── UserBaseValidatorFixture.cs
└── UserServiceFixture.cs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages