mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-05-04 03:48:40 +08:00
Merge remote-tracking branch 'origin/main' into develop
# Conflicts: # .github/dependabot.yml # .github/pull_request_template.md # .github/release-drafter.yml # .github/release.yml # .github/workflows/checker.yml # .github/workflows/dotnet.yml # .github/workflows/release-drafter-labeler.yml # .github/workflows/release-drafter.yml # .github/workflows/update-changelog.yml
This commit is contained in:
commit
659a76aeba
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@ -11,4 +11,4 @@ updates:
|
|||||||
ignore:
|
ignore:
|
||||||
- dependency-name: '*'
|
- dependency-name: '*'
|
||||||
versions:
|
versions:
|
||||||
- '>= 0'
|
- '>= 0'
|
||||||
|
|||||||
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@ -36,4 +36,4 @@ Explain here how this PR will be tested by the reviewer: commands, dependencies,
|
|||||||
## Follow-ups
|
## Follow-ups
|
||||||
|
|
||||||
Add here any thought that you consider could be identified as an actionable step once this PR is merged.
|
Add here any thought that you consider could be identified as an actionable step once this PR is merged.
|
||||||
-->
|
-->
|
||||||
|
|||||||
38
.github/workflows/codeql-analysis.yml
vendored
Normal file
38
.github/workflows/codeql-analysis.yml
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
name: CodeQL
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ develop, main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ develop, main ]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
language: [ csharp ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@v2
|
||||||
|
with:
|
||||||
|
languages: ${{ matrix.language }}
|
||||||
|
|
||||||
|
- name: Autobuild
|
||||||
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@v2
|
||||||
1
.gitpod.Dockerfile
vendored
Normal file
1
.gitpod.Dockerfile
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
FROM gitpod/workspace-dotnet:latest
|
||||||
27
.gitpod.yml
Normal file
27
.gitpod.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# https://github.com/gitpod-samples/template-dotnet-core-cli-csharp
|
||||||
|
# https://www.gitpod.io/docs/introduction/languages/dotnet
|
||||||
|
# https://github.com/gitpod-samples/template-docker-compose
|
||||||
|
# https://www.gitpod.io/docs/references/gitpod-yml
|
||||||
|
# https://www.gitpod.io/docs/configure
|
||||||
|
# https://www.gitpod.io/docs/configure/workspaces/ports
|
||||||
|
|
||||||
|
image:
|
||||||
|
file: .gitpod.Dockerfile
|
||||||
|
|
||||||
|
# https://www.gitpod.io/docs/configure/workspaces/tasks#execution-order
|
||||||
|
# https://www.gitpod.io/docs/configure/projects/prebuilds
|
||||||
|
tasks:
|
||||||
|
- name: Init Docker-Compose
|
||||||
|
init: |
|
||||||
|
docker-compose pull
|
||||||
|
docker-compose -f ./deployments/docker-compose/infrastracture.yaml up -d
|
||||||
|
- name: Restore & Build
|
||||||
|
init: |
|
||||||
|
dotnet dev-certs https
|
||||||
|
dotnet restore
|
||||||
|
dotnet build
|
||||||
|
|
||||||
|
vscode:
|
||||||
|
extensions:
|
||||||
|
- ms-azuretools.vscode-docker
|
||||||
|
- muhammad-sammy.csharp
|
||||||
11
CHANGELOG.md
Normal file
11
CHANGELOG.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [1.3.0](https://github.com/meysamhadeli/booking-microservices/compare/v1.2.0...v1.3.0) (2023-01-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Add health-options ([624194b](https://github.com/meysamhadeli/booking-microservices/commit/624194bb0161749281d1a3072ba7a93b7743a08e))
|
||||||
|
* Add serilog sentry ([54471a1](https://github.com/meysamhadeli/booking-microservices/commit/54471a1128b4897ecdbd01cb384ceacef6b13165))
|
||||||
|
* Change in docker files config ([c474890](https://github.com/meysamhadeli/booking-microservices/commit/c4748908b9a84d9bee50de11273023888544b24e))
|
||||||
|
* Update all nuget packages ([edd50ac](https://github.com/meysamhadeli/booking-microservices/commit/edd50ac41a55ec2e62d506149a128f13475c3b7b))
|
||||||
14
README.md
14
README.md
@ -30,11 +30,11 @@
|
|||||||
- :sparkle: Using `gRPC` for internal communication between our microservices.
|
- :sparkle: Using `gRPC` for internal communication between our microservices.
|
||||||
- :sparkle: Using `CQRS` implementation with `MediatR` library.
|
- :sparkle: Using `CQRS` implementation with `MediatR` library.
|
||||||
- :sparkle: Using `SqlServer` for `write side` of some microservices.
|
- :sparkle: Using `SqlServer` for `write side` of some microservices.
|
||||||
- :sparkle: Using `MongoDB` for `read side` of all microservices.
|
- :sparkle: Using `MongoDB` for `read side` of some microservices.
|
||||||
- :sparkle: Using `Event Store` for `write side` of Booking-Microservice to store all `historical state` of aggregate.
|
- :sparkle: Using `Event Store` for `write side` of Booking-Microservice to store all `historical state` of aggregate.
|
||||||
- :sparkle: Using `Inbox Pattern` for ensuring message idempotency for receiver and `Exactly once Delivery`.
|
- :sparkle: Using `Inbox Pattern` for ensuring message idempotency for receiver and `Exactly once Delivery`.
|
||||||
- :sparkle: Using `Outbox Pattern` for ensuring no message is lost and there is at `Least One Delivery`.
|
- :sparkle: Using `Outbox Pattern` for ensuring no message is lost and there is at `Least One Delivery`.
|
||||||
- :sparkle: Using `Unit Testing`, `Integration Testing` for testing level.
|
- :sparkle: Using `Unit Testing`, `Integration Testing`, `End To End Testing` for testing level.
|
||||||
- :sparkle: Using `Fluent Validation` and a `Validation Pipeline Behaviour` on top of `MediatR`.
|
- :sparkle: Using `Fluent Validation` and a `Validation Pipeline Behaviour` on top of `MediatR`.
|
||||||
- :sparkle: Using `Minimal API` for all endpoints.
|
- :sparkle: Using `Minimal API` for all endpoints.
|
||||||
- :sparkle: Using `Health Check` for reporting the health of app infrastructure components.
|
- :sparkle: Using `Health Check` for reporting the health of app infrastructure components.
|
||||||
@ -85,7 +85,6 @@ High-level plan is represented in the table
|
|||||||
- ✔️ **[`MongoDB.Driver`](https://github.com/mongodb/mongo-csharp-driver)** - .NET Driver for MongoDB.
|
- ✔️ **[`MongoDB.Driver`](https://github.com/mongodb/mongo-csharp-driver)** - .NET Driver for MongoDB.
|
||||||
- ✔️ **[`xUnit.net`](https://github.com/xunit/xunit)** - A free, open source, community-focused unit testing tool for the .NET Framework.
|
- ✔️ **[`xUnit.net`](https://github.com/xunit/xunit)** - A free, open source, community-focused unit testing tool for the .NET Framework.
|
||||||
- ✔️ **[`Respawn`](https://github.com/jbogard/Respawn)** - Respawn is a small utility to help in resetting test databases to a clean state.
|
- ✔️ **[`Respawn`](https://github.com/jbogard/Respawn)** - Respawn is a small utility to help in resetting test databases to a clean state.
|
||||||
- ✔️ **[`Mongo2Go`](https://github.com/Mongo2Go/Mongo2Go)** - Providing multiple, temporary and isolated MongoDB databases for unit tests (or to be precise: integration tests).
|
|
||||||
- ✔️ **[`Testcontainers`](https://github.com/testcontainers/testcontainers-dotnet)** - Testcontainers for .NET is a library to support tests with throwaway instances of Docker containers.
|
- ✔️ **[`Testcontainers`](https://github.com/testcontainers/testcontainers-dotnet)** - Testcontainers for .NET is a library to support tests with throwaway instances of Docker containers.
|
||||||
|
|
||||||
## The Domain And Bounded Context - Service Boundary
|
## The Domain And Bounded Context - Service Boundary
|
||||||
@ -139,13 +138,18 @@ Using the CQRS pattern, we cut each business functionality into vertical slices,
|
|||||||
|
|
||||||
Run the following commands for [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 for [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
|
```bash
|
||||||
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p {password here}
|
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p password
|
||||||
dotnet dev-certs https --trust
|
dotnet dev-certs https --trust
|
||||||
```
|
```
|
||||||
|
|
||||||
> Note: for running this command in `powershell` use `$env:USERPROFILE` instead of `%USERPROFILE%`
|
> Note: for running this command in `powershell` use `$env:USERPROFILE` instead of `%USERPROFILE%`
|
||||||
|
|
||||||
|
#### macOS or Linux
|
||||||
|
```bash
|
||||||
|
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
|
||||||
|
dotnet dev-certs https --trust
|
||||||
|
```
|
||||||
### Docker Compose
|
### 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:
|
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:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user