Merge branch 'develop'

This commit is contained in:
Pc 2023-12-19 16:55:40 +03:30
commit 53077d1965

View File

@ -150,7 +150,7 @@ Using the CQRS pattern, we cut each business functionality into vertical slices,
## How to Run
> ### Config Certificate
Run the following commands to [Config SSL](https://docs.microsoft.com/en-us/aspnet/core/security/docker-compose-https?view=aspnetcore-6.0) in your system
Run the following commands to [Config SSL](https://docs.microsoft.com/en-us/aspnet/core/security/docker-compose-https?view=aspnetcore-6.0) in your system:
#### Windows using Linux containers
```bash
@ -166,48 +166,50 @@ dotnet dev-certs https --trust
```
> ### Docker Compose
Run this app in docker using the [docker-compose.yaml](./deployments/docker-compose/docker-compose.yaml) file with the below command at the root of the application:
To run this app in `Docker`, use the [docker-compose.yaml](./deployments/docker-compose/docker-compose.yaml) and execute the below command at the `root` of the application:
```bash
docker-compose -f ./deployments/docker-compose/docker-compose.yaml up -d
```
> ### Kubernetes
For Configure TLS in kubernetes cluster we need install `cert-manager` base on [docs](https://cert-manager.io/docs/installation) and run the following commands for apply TLS in our application. Here we use [LetsEncrypt](https://letsencrypt.org/) for encryption our certificate.
To `configure TLS` in the `Kubernetes cluster`, we need to install `cert-manager` based on the [docs](https://cert-manager.io/docs/installation) and run the following commands to apply TLS in our application. Here, we use [Let's Encrypt](https://letsencrypt.org/) to encrypt our certificate.
```bash
kubectl apply -f ./deployments/kubernetes/booking-cert-manager.yml
```
Run the following command to apply all deployments, pods, services, ingress and configmaps that we need
To apply all necessary `deployments`, `pods`, `services`, `ingress`, and `config maps`, please run the following command:
```bash
kubectl apply -f ./deployments/kubernetes/booking-microservices.yml
```
> ### Build
For `building` all microservices, Run this command in `root` of project:
To `build` all microservices, run this command in the `root` of the project:
```bash
dotnet build
```
> ### Run
For `runing` each microservice, Run this command in root of `Api` folder of each microservice where `csproj` located:
To `run` each microservice, run this command in the root of the `Api` folder of each microservice where the `csproj` file is located:
```bash
dotnet run
```
> ### Test
For `testing` all microservices, Run this command in `root` of project:
To `test` all microservices, run this command in the `root` of the project:
```bash
dotnet test
```
> ### Documentation Apis
Each microservice uses swagger open api, navigate to `/swagger` for getting the list endpoints.
Each microservice has a `Swagger OpenAPI`. Browse to `/swagger` for a list of endpoints.
Also, to test apis, I created the [booking.rest](./booking.rest) file. This file run with [REST Client](https://github.com/Huachao/vscode-restclient) `VSCode plugin`.
As part of API testing, I created the [booking.rest](./booking.rest) file which can be run with the [REST Client](https://github.com/Huachao/vscode-restclient) `VSCode plugin`.
# Support