Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
bc525d7
add bff template and package lock
Jan 7, 2026
92465a6
feat: update http service configurations and add appsettings
Jan 7, 2026
b1b753b
feat: add mock API with gRPC and HTTP endpoints
Jan 8, 2026
4630db1
feat: add mock API service and update related configurations
Jan 8, 2026
3043417
refactor: simplify Program.cs by removing unnecessary code
Jan 9, 2026
30da48f
feat: add Microsoft.AspNetCore.OpenApi and Scalar.AspNetCore
Jan 9, 2026
9310744
feat: refactor bff service and update order endpoints
Jan 10, 2026
24becf3
feat: update solution structure and remove obsolete files
Jan 10, 2026
30240b7
feat: add additional order endpoints to mock API service
Jan 10, 2026
aa72285
feat: standardize mock-api naming in configuration files
Jan 10, 2026
4268734
feat: update docker-compose names for load tests and bff
Jan 10, 2026
fd6bcda
feat: enhance http service with content type and logging
Jan 10, 2026
a90b70c
CMGO-53 feat: add headers for Orders and Payments in appsettings
Jan 10, 2026
dec808c
feat: simplify response compression and update order tests
Jan 10, 2026
f638a4f
feat: simplify response compression configuration in Program.cs
Jan 10, 2026
fdda1b7
feat(53): add Microsoft.Extensions.Http.Polly package and configuration
Jan 10, 2026
17528fb
feat: enhance request and response DTOs with detailed summaries
Jan 14, 2026
f683c3a
docs: add example values to Total and Value properties
Jan 14, 2026
093fb6c
feat(53): update order.proto with improved message structure and fields
Jan 20, 2026
d46e6ca
feat(53): add health checks and related packages to the project
Jan 20, 2026
411ddd9
feat(53): add health check and rate limiting extensions with config
Jan 20, 2026
956b581
53 feat: add rate limiting configuration and enable in settings
Jan 21, 2026
3df8bdb
53 feat: add custom health checks and configuration extensions
Jan 21, 2026
307b113
feat(53): add grpc dependencies and update related services
Jan 21, 2026
7626b46
53 feat: implement payment creation gRPC service and request model
Jan 21, 2026
5a958af
53 feat: add payment creation endpoint and refactor request handling
Jan 21, 2026
76ce1af
53 feat: remove unused order service and update payment service
Jan 21, 2026
a73b56c
CMGO-53 feat: update payment creation logic in gRPC service
Jan 21, 2026
4aa88be
feat: refactor BaseGrpcService and PaymentsService for improved reque…
Jan 26, 2026
f8124a3
53 feat: enhance BaseGrpcService with logging and refactor PaymentsSe…
Jan 28, 2026
fd48bbf
53 feat: add analysis level and mode to Directory.Build.props
Jan 28, 2026
af2666a
53 feat: update logging in services and adjust package versions
Jan 28, 2026
291552c
53 feat: use current culture for grpc exporter protocol check
Jan 28, 2026
52c4105
53 refactor: update BaseHttpService and InfrastructureDependencyInjec…
Jan 28, 2026
e69f797
53 refactor: rename logging methods in BaseHttpService and BaseGrpcSe…
Jan 28, 2026
fc52876
53 feat: improve error handling and refactor payment creation logic
Jan 29, 2026
ac376db
53 refactor: update payment service client and improve health check
Jan 29, 2026
687cacc
53 refactor: simplify ExecuteHandlerAsync method signature
Jan 29, 2026
56851c5
53 refactor: update BaseGrpcService and PaymentsService for gRPC client
Jan 29, 2026
74a0765
53 feat: add logging methods for request handling in services
Jan 30, 2026
218f06b
53 feat: add service configuration and update service keys
Jan 30, 2026
8730f15
53 refactor: update field accessors and improve naming conventions
Jan 30, 2026
2fef6a9
53 feat: add gRPC service registration and update base addresses
Jan 30, 2026
a752b85
53 feat: update base addresses for Orders and Payments services
Jan 30, 2026
e30b795
53 feat: add versioning to service configurations in appsettings
Feb 3, 2026
64e2a16
53 feat: add http2 support in Kestrel configuration
Feb 3, 2026
ff9631a
53 feat: rename version to protocolVersion and update usages
Feb 3, 2026
d486a46
53 feat: configure response compression and remove http2 env var
Feb 3, 2026
6c42724
feat: add timezoneId and fix naming test violation
Feb 13, 2026
8a004cd
style(53): remove underscores from test method names for consistency
Feb 13, 2026
7ca4142
53 refactor: simplify DomainEntity constructors and related tests
Feb 13, 2026
8497002
feat(53): add logging helper methods for use case execution
Feb 13, 2026
7595023
53 refactor: update fields to properties in use case classes
Feb 13, 2026
250b37a
53 refactor: replace logger calls with logging helper methods
Feb 14, 2026
b828456
53 refactor: standardize property names and improve casing
Feb 14, 2026
0ae693c
53 refactor: standardize property casing in BaseMessagingFixture
Feb 14, 2026
58228c5
53 feat: update domain entity constructors to include timezone handling
Feb 18, 2026
727af27
53 feat: update BaseRequest to include user and timezone handling
Feb 18, 2026
fe9ea46
53 refactor: standardize property names and improve casing
Feb 18, 2026
e714df3
53 refactor: remove unused logger imports and update log verification
Feb 19, 2026
444041f
53 refactor: simplify fixture constructor and rename log verification
Feb 19, 2026
7eb481e
53 refactor: remove unused logger imports and improve logging calls
Feb 19, 2026
6aff86c
53 chore: change logging severity for CA1873 to none
Feb 19, 2026
8c68095
53 refactor: replace log verification methods with new implementations
Feb 19, 2026
e87298e
53 feat: add Microsoft.EntityFrameworkCore package and update queries
Feb 22, 2026
39f0c92
53 chore: update docker-compose service name to full version
Feb 22, 2026
a6855c7
feat(53): add MockQueryable.Moq package and update dependencies
Feb 22, 2026
08932a6
feat(53): enhance order and notification use cases with queryables
Feb 22, 2026
0040b88
feat(53): add overload for SetupQueryable with correlationId and newC…
Feb 22, 2026
2c239cd
feat(53): improve logs
Feb 23, 2026
38577e5
test(53): fix logs on unit tests
Feb 23, 2026
8be1245
chore(53): remove notification table migration and related files
Feb 24, 2026
84fc31d
feat(53): replace SQL Server health checks with PostgreSQL
Feb 24, 2026
e9b6f1c
feat(53): migrate from SQL Server to PostgreSQL in docker setup
Feb 24, 2026
950c20f
chore(53): update pgadmin image version to 9.12.0 in docker-compose
Feb 24, 2026
6e43725
CMGO-53 docs: update migration commands in README for consistency
Feb 25, 2026
4369b4e
53 docs: update section title for generating SQL migration script
Feb 25, 2026
1459f49
CMGO-53 feat: create migration for Notification, Order, and Item tables
Feb 25, 2026
9ca32a0
53 feat: update seed data to include CreatedBy fields and values
Feb 25, 2026
ddd645f
53 style: remove commented lines from seed data script
Feb 25, 2026
8f6da01
53 feat: reorganize pgadmin service and update seed data queries
Feb 27, 2026
608c39b
53 feat: add container names for all services in docker-compose
Feb 27, 2026
95828b0
53 feat: create migration for Notification, Order, and Item tables
Feb 27, 2026
b26ad29
53 feat: update migration and seed scripts for timestamp fields
Feb 27, 2026
b6be639
53 feat: update seed data values and enhance order creation tests
Feb 27, 2026
71ab02c
feat: add grafana with tempo support
Mar 9, 2026
cbd1d88
chore: remove aspire-dashboard service from docker-compose
Mar 9, 2026
b220129
chore: remove aspire-dashboard service from docker-compose
Mar 9, 2026
77bbd58
53 feat: update docker-compose and configuration for observability
Mar 10, 2026
4ed5fa4
53 style: format config and update launch settings for endpoints
Mar 10, 2026
64b6f0e
53 refactor: remove redundant use of grafana in telemetry setup
Mar 10, 2026
00a6abd
53 feat: add grafana integration to telemetry logging and metrics
Mar 10, 2026
c9f05c8
53 refactor: simplify open telemetry configuration and logging
Mar 11, 2026
bfd7764
53 refactor: simplify logging by removing elapsed time tracking
Mar 11, 2026
8ea6646
53 refactor: streamline telemetry setup and remove elapsed time tracking
Mar 11, 2026
020b0de
53 refactor: update activity tracking in use case classes
Mar 11, 2026
757c947
chore: remove unused OpenTelemetry dependencies
Mar 11, 2026
0366757
53 refactor: replace Activity with using statement in use cases
Mar 11, 2026
64a0413
53 refactor: enhance logging for cache operations with detailed messages
Mar 11, 2026
66a3c56
53 refactor: remove unused activity tags from message handling
Mar 11, 2026
043bf8b
53 refactor: remove class name from logging parameters
Mar 11, 2026
ef2c06e
53 refactor: simplify logging parameters by removing method names
Mar 11, 2026
d31d6e5
53 refactor: simplify metrics configuration in OpenTelemetry setup
Mar 11, 2026
d246df5
53 refactor: update docker-compose files to use full network
Mar 11, 2026
4dd3b3e
53 refactor: update k6 service environment variables for dashboard
Mar 11, 2026
53c8b05
53 refactor: replace ActivitySource with Activities helper class
Mar 12, 2026
74809e8
53 refactor: change ActivitySource to private in Activities helper
Mar 12, 2026
8aa098f
53 refactor: use anchor for postgres image in docker-compose files
Mar 12, 2026
3d02e26
53 refactor: update dependencies for alloy and adjust otel endpoints
Mar 12, 2026
73ae77b
53 refactor: simplify OpenTelemetry exporter configuration
Mar 12, 2026
043a478
53 refactor: update grafana provisioning paths and remove unused file
Mar 12, 2026
7387b6b
53 refactor: remove tempo initialization comments from docker-compose
Mar 12, 2026
cc06a78
53 refactor: replace Activities with ActivitySource for tracing
Mar 12, 2026
12bbd5c
53 refactor: simplify service provider usage in use cases
Mar 12, 2026
1c34798
53 refactor: enhance activity tracing with method names
Mar 12, 2026
5e482c4
53 refactor: remove unused DefaultApplicationMessages and update imports
Mar 13, 2026
53b0085
53 fix: correct total amount assertion in GetOrderGrpcTest
Mar 13, 2026
9a8bb9b
53 refactor: enhance logging messages and activity tracing
Mar 13, 2026
4b19bf5
53 fix: update otel exporter endpoints and protocol in load tests
Mar 13, 2026
62b5949
53 feat: update docker-compose files and configurations for exporters
Mar 14, 2026
ce96118
53 refactor: remove unused docker services and configurations
Mar 14, 2026
1355155
53 feat: add metrics for consumer errors and duplicated messages
Mar 15, 2026
54f1f2a
53 fix: handle message in dead letter queue on error
Mar 15, 2026
7ef5235
53 feat: add container names to docker-compose files for clarity
Mar 15, 2026
6690ff0
53 fix: update otel exporter endpoint and protocol for load tests
Mar 15, 2026
306de22
chore(53): remove prometheus exporter from dependencies and configs
Mar 17, 2026
004aafa
chore: remove health check extensions and integrate OpenTelemetry
Mar 17, 2026
0659280
53 feat: add grafana configuration files for observability tools
Mar 17, 2026
bc2aa54
53 style: fix indentation for alloy service in docker-compose
Mar 17, 2026
d6b1f78
53 refactor: simplify logging in cache and HTTP services
Mar 18, 2026
a8f710b
53 chore: remove grafana docker-compose file and update services
Mar 18, 2026
931e5f1
53 feat: update load test configurations and remove memcached
Mar 18, 2026
6461e99
53 feat: update docker-compose files and remove memcached service
Mar 19, 2026
62ff943
53 feat: update load test configurations for dynamic parameters
Mar 19, 2026
532d083
53 fix: update start_period for healthchecks in docker-compose
Mar 19, 2026
ca11d51
update package versions in packages.lock.json
Mar 19, 2026
bc42032
chore: update packages
Mar 19, 2026
654c346
53 feat: update grafana datasource configurations and remove old file
Mar 19, 2026
8bb5d84
53 refactor: remove unused meter configurations from OpenTelemetry
Mar 19, 2026
8c793b5
53 refactor: use EntityName for activity names in DomainEntity
Mar 19, 2026
39544d9
53 feat: add DomainException for item value validation
Mar 19, 2026
70d48fd
53 feat: update workflows and project files for BFF architecture
Mar 20, 2026
a5ed78b
53 feat: add pull request template for better contribution guidelines
Mar 20, 2026
76ac176
53 fix: correct unit test project path in validate workflow
Mar 20, 2026
5f072e0
53 feat: add build_path to validate workflows for templates
Mar 20, 2026
aeee20b
53 chore: remove unit test verbosity from workflow configurations
Mar 20, 2026
b37a70b
53 refactor: rename validation job identifiers for consistency
Mar 20, 2026
bbbd89f
53 feat: add docker-compose files for full and local environments
Mar 20, 2026
d4d46eb
feat(53): add test_no_build parameter to validate workflow
Mar 23, 2026
a500015
53 feat: add launch and task configurations for development
Apr 1, 2026
ca2de8b
53 refactor: remove unused ProduceService from use case classes
Apr 1, 2026
b8dc26f
53 refactor: remove redundant updatedAt assertions in order tests
Apr 1, 2026
7d77c21
53 feat: introduce NotificationType enum and update related code
Apr 3, 2026
fa5b948
53 refactor: update notification type validation and clean tests
Apr 3, 2026
9bde54d
53 feat: add launch and task configurations for development
Apr 3, 2026
a668b8f
53 feat: update notification type to integer and adjust migrations
Apr 3, 2026
8e7b8e6
53 refactor: streamline update handling in DomainEntity and Order
Apr 3, 2026
f9f0ac3
53 chore: add names to validation jobs in workflow files
Apr 3, 2026
b4f53d3
refactor(53): update project and organization keys in workflows
Apr 3, 2026
09c4acf
chore(53): remove sonar organization from validation workflow
Apr 3, 2026
28077b6
refactor(53): change interface parameter to use 'in' modifier
Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Pull Request

## 📌 Summary

<!-- What does this PR change and why? Keep it short and objective. -->

## 🎯 Type of change

- [ ] Feature
- [ ] Bug fix
- [ ] Refactor
- [ ] Performance
- [ ] Documentation
- [ ] Chore / Build / CI

## 🔗 Related work

<!-- Link issue, task, or ticket (e.g. Closes #123) -->

## 🧪 How was this tested?

<!-- Describe tests you ran and important validation details. -->

- [ ] Unit tests
- [ ] Integration tests
- [ ] Manual tests
- [ ] Not applicable

## ✅ Checklist

- [ ] I have reviewed my own changes
- [ ] I have updated documentation/comments when needed
- [ ] I have added or updated tests when needed
- [ ] I have verified no sensitive data/secrets were introduced
- [ ] This PR is ready for review

## 📝 Additional notes (optional)

<!-- Anything reviewers should pay special attention to? -->

## 🧾 Release notes (optional)

<!-- User-facing impact, migration steps, or rollout notes. -->
35 changes: 24 additions & 11 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,38 @@ on:
workflow_dispatch:

jobs:
validate:
validate-template-full:
name: Validate Full Template
uses: gpreviatti/github-actions-templates/.github/workflows/dotnet-validate.yml@v1
with:
project: "hexagonal-solution-template"
organization: "gpreviatti"
unit_test_project_path: "./templates/tests/UnitTests/"
unit_test_verbosity: 'd'
build_path: "./templates/Full"
project: "hexagonal-solution-template-full"
unit_test_project_path: "./templates/Full/tests/UnitTests/"
dotnet_version: "${{ vars.PROJECT_DOTNET_VERSION }}"
domain_stryker_config_path: "./templates/tests/UnitTests/stryker-config-domain.json"
application_stryker_config_path: "./templates/tests/UnitTests/stryker-config-application.json"
integration_test_project_path: "./templates/tests/IntegrationTests"
docker_compose_file_path: "./templates/docker-compose.yml"
domain_stryker_config_path: "./templates/Full/tests/UnitTests/stryker-config-domain.json"
application_stryker_config_path: "./templates/Full/tests/UnitTests/stryker-config-application.json"
integration_test_project_path: "./templates/Full/tests/IntegrationTests"
docker_compose_file_path: "./templates/Full/docker-compose.yml"
secrets:
sonar_token: ${{ secrets.SONAR_TOKEN }}

validate-template-bff:
name: Validate BFF Template
uses: gpreviatti/github-actions-templates/.github/workflows/dotnet-validate.yml@v1
with:
build_path: "./templates/Bff"
dotnet_version: "${{ vars.PROJECT_DOTNET_VERSION }}"
integration_test_project_path: "./templates/Bff/tests/IntegrationTests"
docker_compose_file_path: "./templates/Bff/docker-compose.yml"
secrets:
sonar_token: ${{ secrets.SONAR_TOKEN }}

pack-and-publish:
needs: validate
name: Pack and Publish Template
needs: [validate-template-full, validate-template-bff]
uses: gpreviatti/github-actions-templates/.github/workflows/dotnet-pack.yml@v1
with:
dotnet_version: "${{ vars.PROJECT_DOTNET_VERSION }}"
package_version: "10.0.3"
package_version: "10.1.0"
secrets:
nuget_api_key: ${{ secrets.NUGET_API_KEY }}
29 changes: 19 additions & 10 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,27 @@ on:
workflow_dispatch:

jobs:
validate:
validate-template-full:
name: Validate Full Template
uses: gpreviatti/github-actions-templates/.github/workflows/dotnet-validate.yml@v1
with:
project: "hexagonal-solution-template"
organization: "gpreviatti"
unit_test_project_path: "./templates/tests/UnitTests/"
unit_test_verbosity: 'd'
build_path: "./templates/Full"
sonar_project: "hexagonal-solution-template-full"
test_no_build: false
unit_test_project_path: "./templates/Full/tests/UnitTests/"
dotnet_version: "${{ vars.PROJECT_DOTNET_VERSION }}"
domain_stryker_config_path: "./templates/tests/UnitTests/stryker-config-domain.json"
application_stryker_config_path: "./templates/tests/UnitTests/stryker-config-application.json"
integration_test_project_path: "./templates/tests/IntegrationTests"
docker_compose_file_path: "./templates/docker-compose.yml"
domain_stryker_config_path: "./templates/Full/tests/UnitTests/stryker-config-domain.json"
application_stryker_config_path: "./templates/Full/tests/UnitTests/stryker-config-application.json"
integration_test_project_path: "./templates/Full/tests/IntegrationTests"
docker_compose_file_path: "./templates/Full/docker-compose.yml"
secrets:
sonar_token: ${{ secrets.SONAR_TOKEN }}


validate-template-bff:
name: Validate BFF Template
uses: gpreviatti/github-actions-templates/.github/workflows/dotnet-validate.yml@v1
with:
build_path: "./templates/Bff"
dotnet_version: "${{ vars.PROJECT_DOTNET_VERSION }}"
integration_test_project_path: "./templates/Bff/tests/IntegrationTests"
docker_compose_file_path: "./templates/Bff/docker-compose.yml"
47 changes: 47 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Full [Development]",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/templates/Full/src/WebApp/bin/Debug/net10.0/WebApp.dll",
"args": [],
"cwd": "${workspaceFolder}/templates/Full/src/WebApp",
"stopAtEntry": false,
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
},
{
"name": "Bff [Development]",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/templates/Bff/src/WebApp/bin/Debug/net10.0/WebApp.dll",
"args": [],
"cwd": "${workspaceFolder}/templates/Bff/src/WebApp",
"stopAtEntry": false,
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
},
]
}
41 changes: 41 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/templates/Bff/src/WebApp/WebApp.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/templates/Bff/src/WebApp/WebApp.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/templates/Bff/src/WebApp/WebApp.csproj"
],
"problemMatcher": "$msCompile"
}
]
}
14 changes: 9 additions & 5 deletions GPreviatti.Template.Hexagonal.Solution.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<PackageId>GPreviatti.Template.Hexagonal.Solution</PackageId>
<Title>Hexagonal architecture solution template</Title>
<Authors>Giovanni Brunno Previatti</Authors>
<Description>Solution following Hexagonal architecture and best praticies.</Description>
<Description>Solution following Hexagonal architecture and best practices.</Description>
<PackageTags>template;hexagonal-architecture;clean-architecture;ddd;net8</PackageTags>
<TargetFramework>net10.0</TargetFramework>
<IncludeContentInPack>true</IncludeContentInPack>
Expand All @@ -18,10 +18,14 @@
<RepositoryUrl>git://github.com/gpreviatti/hexagonal-solution-template</RepositoryUrl>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageReleaseNotes>
- Add docker support
- Add docker-compose file for load tests
- Add automatic assembly mapping for entities
- Simplify load tests methods definitions
- Add new new template with BFF architecture
- Remove Repository pattern since it's not needed with modern EF Core and adds unnecessary complexity
- Update dependencies to latest versions
- Update GitHub Actions workflows to test and analyze both templates
- Improve OpenTelemetry configuration and add more metrics and traces
- Remove Aspire Dashboard
- Add Grafana, Prometheus, Tempo and Loki configuration with Docker Compose for easier local development and testing of observability features
- Change DB to PostgreSQL since it's more widely used in production than SQL Server and works better with Docker
</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
Expand Down
File renamed without changes.
File renamed without changes.
19 changes: 19 additions & 0 deletions templates/Bff/.template.config/template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "http://json.schemastore.org/template",
"author": "Giovanni Brunno Previatti",
"identity": "Hexagonal.Solution.Template.Bff",
"name": "Hexagonal solution template Bff",
"description": "Solution template following hexagonal architecture structure best practices for backend for frontend (BFF) applications",
"shortName": "bff",
"sourceName": "Hexagonal.Solution.Template.Bff",
"classifications": [
"common",
"template",
"hexagonal-architecture"
],
"tags": {
"language": "C#",
"type": "project"
},
"preferNameDirectory": true
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AnalysisLevel>latest</AnalysisLevel>
<AnalysisMode>Recommended</AnalysisMode>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<InvariantGlobalization>false</InvariantGlobalization>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="SonarAnalyzer.CSharp" Version="[9.0.0,)" />
</ItemGroup>
</Project>
46 changes: 46 additions & 0 deletions templates/Bff/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
<NoWarn>$(NoWarn);NU1507</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="SonarAnalyzer.CSharp" Version="10.18.0.131500" />
<PackageVersion Include="AspNetCore.HealthChecks.Redis" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.Uris" Version="9.0.0" />
<PackageVersion Include="AutoFixture" Version="4.18.1" />
<PackageVersion Include="coverlet.collector" Version="8.0.1" />
<PackageVersion Include="FluentValidation" Version="12.1.1" />
<PackageVersion Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
<PackageVersion Include="Grpc.AspNetCore" Version="2.76.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="10.0.5" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="10.4.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="10.0.5" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.5" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="10.0.5" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.5" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="NetArchTest.Rules" Version="1.3.2" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="OpenTelemetry.Extensions" Version="1.14.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Process" Version="1.15.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.15.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.15.0-beta.1" />
<PackageVersion Include="Scalar.AspNetCore" Version="2.13.11" />
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.extensibility.core" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
</Project>
19 changes: 19 additions & 0 deletions templates/Bff/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build-env
WORKDIR /app

COPY . .

WORKDIR /app/src/WebApp
RUN dotnet restore \
&& dotnet publish -c Release -o /app/out

FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY --from=build-env /app/out .

RUN apt-get update \
&& apt-get install -y curl

EXPOSE 5011

ENTRYPOINT ["dotnet", "WebApp.dll", "--urls", "http://+:5011"]
19 changes: 19 additions & 0 deletions templates/Bff/Dockerfile.MockApi
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build-env
WORKDIR /app

COPY . .

WORKDIR /app/src/MockApi
RUN dotnet restore \
&& dotnet publish -c Release -o /app/out

FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY --from=build-env /app/out .

RUN apt-get update \
&& apt-get install -y curl

EXPOSE 5012

ENTRYPOINT ["dotnet", "MockApi.dll", "--urls", "http://+:5012"]
Loading
Loading