├── .dockerignore ├── .github └── dependabot.yml ├── .gitignore ├── Deploy2Azure.md ├── Deploy2Kubernetes.md ├── Directory.Packages.props ├── GameModels.md ├── LICENSE ├── README.md ├── RunDevEnvironment.md ├── TestWithPlaywright.md ├── Updates.md ├── ch01 ├── Aspire │ ├── AspireSample.ApiService │ │ ├── AspireSample.ApiService.csproj │ │ ├── AspireSample.ApiService.http │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── AspireSample.AppHost │ │ ├── AppHost.cs │ │ ├── AspireSample.AppHost.csproj │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── AspireSample.ServiceDefaults │ │ ├── AspireSample.ServiceDefaults.csproj │ │ └── Extensions.cs │ ├── AspireSample.Web │ │ ├── AspireSample.Web.csproj │ │ ├── Components │ │ │ ├── App.razor │ │ │ ├── Layout │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── MainLayout.razor.css │ │ │ │ ├── NavMenu.razor │ │ │ │ └── NavMenu.razor.css │ │ │ ├── Pages │ │ │ │ ├── Counter.razor │ │ │ │ ├── Error.razor │ │ │ │ ├── Home.razor │ │ │ │ └── Weather.razor │ │ │ ├── Routes.razor │ │ │ └── _Imports.razor │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── WeatherApiClient.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ │ ├── app.css │ │ │ ├── favicon.png │ │ │ └── lib │ │ │ └── bootstrap │ │ │ └── dist │ │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-grid.rtl.css │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ ├── bootstrap-utilities.css │ │ │ ├── bootstrap-utilities.css.map │ │ │ ├── bootstrap-utilities.min.css │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── bootstrap.rtl.css │ │ │ ├── bootstrap.rtl.css.map │ │ │ ├── bootstrap.rtl.min.css │ │ │ └── bootstrap.rtl.min.css.map │ │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.esm.js │ │ │ ├── bootstrap.esm.js.map │ │ │ ├── bootstrap.esm.min.js │ │ │ ├── bootstrap.esm.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ └── AspireSample.slnx ├── AzureDiagram.drawio ├── Directory.Packages.props └── Readme.md ├── ch02 ├── Chapter02.slnx ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.GameAPIs.Analyzers.Tests │ ├── Analyzers │ │ ├── ColorGame6x4AnalyzerTests.cs │ │ ├── ColorGame8x5AnalyzerTests.cs │ │ └── ShapeGame5x5x4AnalyzerTests.cs │ ├── Codebreaker.GameAPIs.Analyzers.Tests.csproj │ ├── MockColorGame.cs │ ├── MockShapeGame.cs │ ├── Results │ │ ├── ColorResultTests.cs │ │ ├── ShapeAndColorResultTests.cs │ │ └── SimpleColorResultTests.cs │ └── Usings.cs ├── Codebreaker.GameAPIs.Analyzers │ ├── Analyzers │ │ ├── ColorGameGuessAnalyzer.cs │ │ ├── GameGuessAnalyzer.cs │ │ ├── ShapeGameGuessAnalyzer.cs │ │ └── SimpleGameGuessAnalyzer.cs │ ├── Codebreaker.Analyzers.csproj │ ├── Contracts │ │ ├── IGame.cs │ │ └── IGameGuessAnalyzer.cs │ ├── Extensions │ │ ├── FieldExtensions.cs │ │ └── PegExtensions.cs │ ├── Fields │ │ ├── ColorField.cs │ │ ├── ColorField_Parsable.cs │ │ ├── FieldCategories.cs │ │ ├── ShapeAndColorField.cs │ │ └── ShapeAndColorField_Parsable.cs │ ├── GlobalUsings.cs │ ├── Images │ │ └── codebreaker.jpeg │ ├── Models │ │ ├── ColorAndShapeValues.cs │ │ └── GameTypes.cs │ ├── Results │ │ ├── ColorResult.cs │ │ ├── ColorResult_ISpanFormattable.cs │ │ ├── ColorResult_ISpanParsable.cs │ │ ├── ShapeAndColorResult.cs │ │ ├── ShapeAndColorResult_ISpanFormattable.cs │ │ ├── ShapeAndColorResult_ISpanParsable.cs │ │ ├── SimpleColorResult.cs │ │ ├── SimpleColorResult_Equality.cs │ │ ├── SimpleColorResult_ISpanFormattable.cs │ │ └── SimpleColorResult_ISpanParsable.cs │ └── docs │ │ └── readme.md ├── Codebreaker.GameAPIs.Models │ ├── Codebreaker.GameAPIs.Models.csproj │ ├── Data │ │ ├── GamesQuery.cs │ │ └── IGamesRepository.cs │ ├── Exceptions │ │ ├── CodebreakerException.cs │ │ └── CodebreakerExceptionCodes.cs │ ├── Extensions │ │ └── GameExtensions.cs │ ├── Game.cs │ ├── GlobalUsings.cs │ ├── Images │ │ └── codebreaker.jpeg │ ├── Move.cs │ └── docs │ │ └── readme.md ├── Codebreaker.GameAPIs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateGameExceptionEndpointFilter.cs │ │ ├── GameEndpoints.cs │ │ ├── GameEndpoints1.cs │ │ ├── GameEndpoints2.cs │ │ └── ValidatePlayernameEndpointFilter.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.json │ └── http-client.env.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ └── Extensions.cs ├── CreateAGame.md ├── Readme.md └── SetMove.md ├── ch03 ├── Chapter03.slnx ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ └── ModelExtensions.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Data.Cosmos │ ├── Codebreaker.Data.Cosmos.csproj │ ├── GamesCosmosContext.cs │ ├── GlobalUsings.cs │ └── Utilities │ │ ├── FieldValueComparer.cs │ │ └── FieldValueValueConverter.cs ├── Codebreaker.Data.Postgres │ ├── Codebreaker.Data.Postgres.csproj │ ├── Configurations │ │ ├── GameConfiguration.cs │ │ └── MoveConfiguration.cs │ ├── GamesPostgresContext.cs │ ├── GlobalUsings.cs │ └── MappingExtensions.cs ├── Codebreaker.Data.SqlServer.Tests │ ├── Codebreaker.Data.SqlServer.Tests.csproj │ ├── GlobalUsings.cs │ └── MappingExtensionsTests.cs ├── Codebreaker.Data.SqlServer │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.Data.SqlServer.csproj │ ├── Configurations │ │ ├── GameConfiguration.cs │ │ └── MoveConfiguration.cs │ ├── GamesSqlServerContext.cs │ ├── GamesSqlServerContextFactory.cs │ ├── GlobalUsings.cs │ ├── MappingExtensions.cs │ └── Migrations │ │ ├── 20231225095734_InitGames.Designer.cs │ │ ├── 20231225095734_InitGames.cs │ │ ├── 20231225095931_AddPlayerIsAuthenticated.Designer.cs │ │ ├── 20231225095931_AddPlayerIsAuthenticated.cs │ │ └── GamesSqlServerContextModelSnapshot.cs ├── Codebreaker.GameAPIs.Models │ ├── Codebreaker.GameAPIs.Models.csproj │ ├── Data │ │ ├── GamesQuery.cs │ │ └── IGamesRepository.cs │ ├── Exceptions │ │ ├── CodebreakerException.cs │ │ └── CodebreakerExceptionCodes.cs │ ├── Extensions │ │ └── GameExtensions.cs │ ├── Game.cs │ ├── GlobalUsings.cs │ ├── Images │ │ └── codebreaker.jpeg │ ├── Move.cs │ └── docs │ │ └── readme.md ├── Codebreaker.GameAPIs │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── http-client.env.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── CreateAGameWithSQLServer.md ├── Readme.md └── components.drawio ├── ch04 ├── Chapter04.Client.slnx ├── Chapter04.Server.slnx ├── Readme.md ├── client │ ├── Codebreaker.Console │ │ ├── Codebreaker.Console.csproj │ │ ├── GlobalUsings.cs │ │ ├── Inputs.cs │ │ ├── Program.cs │ │ ├── Runner.cs │ │ └── appsettings.json │ ├── Codebreaker.GameAPIs.Client │ │ ├── Codebreaker.GameAPIs.Client.csproj │ │ ├── GamesClient.cs │ │ ├── GlobalUsings.cs │ │ └── Models │ │ │ ├── CreateGameRequest.cs │ │ │ ├── CreateGameResponse.cs │ │ │ ├── Game.cs │ │ │ ├── GamesQuery.cs │ │ │ ├── Move.cs │ │ │ ├── UpdateGameRequest.cs │ │ │ └── UpdateGameResponse.cs │ ├── Codebreaker.GameAPIs.KiotaClient │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── Codebreaker.GameAPIs.KiotaClient.csproj │ │ └── codebreaker │ │ │ ├── Games │ │ │ ├── GamesRequestBuilder.cs │ │ │ └── Item │ │ │ │ └── GamesItemRequestBuilder.cs │ │ │ ├── GamesAPIClient.cs │ │ │ ├── Models │ │ │ ├── CreateGameRequest.cs │ │ │ ├── CreateGameResponse.cs │ │ │ ├── CreateGameResponse_fieldValues.cs │ │ │ ├── Game.cs │ │ │ ├── GameError.cs │ │ │ ├── GameType.cs │ │ │ ├── Game_fieldValues.cs │ │ │ ├── Move.cs │ │ │ ├── TimeSpanObject.cs │ │ │ ├── UpdateGameRequest.cs │ │ │ └── UpdateGameResponse.cs │ │ │ └── kiota-lock.json │ └── Codebreaker.KiotaConsole │ │ ├── Codebreaker.KiotaConsole.csproj │ │ ├── GlobalUsings.cs │ │ ├── Inputs.cs │ │ ├── Program.cs │ │ ├── Runner.cs │ │ └── appsettings.json ├── gamesapi-swagger.json └── server │ ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ └── ModelExtensions.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json │ ├── Codebreaker.GameAPIs │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateGameExceptionEndpointFilter.cs │ │ ├── GameEndpoints.cs │ │ └── ValidatePlayernameEndpointFilter.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── http-client.env.json │ └── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── ch05 ├── FinalAspire │ ├── .env │ ├── Chapter5-Aspire.slnx │ ├── CodeBreaker.Bot.Tests │ │ ├── CodeBreaker.Bot.Tests.csproj │ │ └── CodeBreakerAlgorithmsTests.cs │ ├── CodeBreaker.Bot │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Api │ │ │ └── StatusResponse.cs │ │ ├── ApplicationServices.cs │ │ ├── CodeBreaker.Bot.csproj │ │ ├── CodeBreakerAlgorithms.cs │ │ ├── CodeBreakerGameRunner.cs │ │ ├── CodeBreakerTimer.cs │ │ ├── Codebreaker.Bot.http │ │ ├── Endpoints │ │ │ └── BotEndpoints.cs │ │ ├── Exceptions │ │ │ ├── BotNotFoundException.cs │ │ │ └── UnknownStatusException.cs │ │ ├── GlobalUsings.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Utilities │ │ │ └── Log.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json │ ├── Codebreaker.AppHost │ │ ├── .env │ │ ├── Codebreaker.AppHost.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── docker-compose.yaml │ ├── Codebreaker.GameAPIs │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.csproj │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ │ ├── DataContextProxy.cs │ │ │ └── GamesMemoryRepository.cs │ │ ├── Endpoints │ │ │ ├── CreateDatabaseEndpoint.cs │ │ │ └── GameEndpoints.cs │ │ ├── Errors │ │ │ └── GameError.cs │ │ ├── Extensions │ │ │ └── ApiModelExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Services │ │ │ ├── GamesFactory.cs │ │ │ ├── GamesService.cs │ │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── http-client.env.json │ ├── Codebreaker.ServiceDefaults │ │ ├── Codebreaker.ServiceDefaults.csproj │ │ └── Extensions.cs │ └── docker-compose.yaml ├── FinalDocker │ ├── .dockerignore │ ├── Chapter5-Docker.slnx │ ├── CodeBreaker.Bot │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Api │ │ │ └── StatusResponse.cs │ │ ├── CodeBreaker.Bot.csproj │ │ ├── CodeBreakerAlgorithms.cs │ │ ├── CodeBreakerGameRunner.cs │ │ ├── CodeBreakerTimer.cs │ │ ├── Endpoints │ │ │ └── BotEndpoints.cs │ │ ├── Exceptions │ │ │ ├── BotNotFoundException.cs │ │ │ └── UnknownStatusException.cs │ │ ├── GlobalUsings.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Utilities │ │ │ └── Log.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json │ ├── Codebreaker.GameAPIs │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.csproj │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ │ ├── DataContextProxy.cs │ │ │ └── GamesMemoryRepository.cs │ │ ├── Dockerfile │ │ ├── Endpoints │ │ │ ├── CreateDatabaseEndpoint.cs │ │ │ ├── CreateGameExceptionEndpointFilter.cs │ │ │ ├── GameEndpoints.cs │ │ │ └── ValidatePlayernameEndpointFilter.cs │ │ ├── Errors │ │ │ └── GameError.cs │ │ ├── Extensions │ │ │ └── ApiModelExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Services │ │ │ ├── GamesFactory.cs │ │ │ ├── GamesService.cs │ │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── gameapis.env ├── NativeAOT │ └── Codebreaker.GameAPIs.NativeAOT │ │ ├── .dockerignore │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.NativeAOT.csproj │ │ ├── Codebreaker.GameAPIs.NativeAOT.slnx │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ └── GamesMemoryRepository.cs │ │ ├── Dockerfile │ │ ├── Endpoints │ │ └── GameEndpoints.cs │ │ ├── Errors │ │ └── GameError.cs │ │ ├── Extensions │ │ └── ApiModelExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Readme.md ├── StartAspire │ ├── Chapter5-Aspire.slnx │ ├── CodeBreaker.Bot.Tests │ │ ├── CodeBreaker.Bot.Tests.csproj │ │ └── CodeBreakerAlgorithmsTests.cs │ ├── CodeBreaker.Bot │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Api │ │ │ └── StatusResponse.cs │ │ ├── ApplicationServices.cs │ │ ├── CodeBreaker.Bot.csproj │ │ ├── CodeBreakerAlgorithms.cs │ │ ├── CodeBreakerGameRunner.cs │ │ ├── CodeBreakerTimer.cs │ │ ├── Endpoints │ │ │ └── BotEndpoints.cs │ │ ├── Exceptions │ │ │ ├── BotNotFoundException.cs │ │ │ └── UnknownStatusException.cs │ │ ├── GlobalUsings.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Utilities │ │ │ └── Log.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json │ ├── Codebreaker.AppHost │ │ ├── Codebreaker.AppHost.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── Codebreaker.GameAPIs │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.csproj │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ │ ├── DataContextProxy.cs │ │ │ └── GamesMemoryRepository.cs │ │ ├── Endpoints │ │ │ ├── CreateDatabaseEndpoint.cs │ │ │ ├── CreateGameExceptionEndpointFilter.cs │ │ │ ├── GameEndpoints.cs │ │ │ └── ValidatePlayernameEndpointFilter.cs │ │ ├── Errors │ │ │ └── GameError.cs │ │ ├── Extensions │ │ │ └── ApiModelExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Services │ │ │ ├── GamesFactory.cs │ │ │ ├── GamesService.cs │ │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── gameapis.http │ │ └── http-client.env.json │ └── Codebreaker.ServiceDefaults │ │ ├── Codebreaker.ServiceDefaults.csproj │ │ └── Extensions.cs ├── StartDocker │ ├── Chapter5-Docker.slnx │ ├── CodeBreaker.Bot │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Api │ │ │ └── StatusResponse.cs │ │ ├── CodeBreaker.Bot.csproj │ │ ├── CodeBreakerAlgorithms.cs │ │ ├── CodeBreakerGameRunner.cs │ │ ├── CodeBreakerTimer.cs │ │ ├── Endpoints │ │ │ └── BotEndpoints.cs │ │ ├── Exceptions │ │ │ ├── BotNotFoundException.cs │ │ │ └── UnknownStatusException.cs │ │ ├── GlobalUsings.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Utilities │ │ │ └── Log.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json │ └── Codebreaker.GameAPIs │ │ ├── .config │ │ └── dotnet-tools.json │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.csproj │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ └── GamesMemoryRepository.cs │ │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ ├── CreateGameExceptionEndpointFilter.cs │ │ ├── GameEndpoints.cs │ │ └── ValidatePlayernameEndpointFilter.cs │ │ ├── Errors │ │ └── GameError.cs │ │ ├── Extensions │ │ └── ApiModelExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── containerdiagram.md └── gameapis.env ├── ch06 ├── .gitignore ├── Chapter6.slnx ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Codebreaker.Bot.http │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Utilities │ │ └── Log.cs │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ └── aspire-manifest.json ├── Codebreaker.CosmosCreate │ ├── ApIDbInitializer.cs │ ├── Codebreaker.CosmosCreate.csproj │ └── Program.cs ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── Codebreaker.SqlServerMigration │ ├── ApIDbInitializer.cs │ ├── Codebreaker.SqlServerMigration.csproj │ └── Program.cs ├── Readme.md └── azure.yaml ├── ch07 ├── .gitignore ├── AppConfigurationKeyVault.drawio ├── Chapter07.slnx ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── Extensions │ │ └── LoggerExtensions.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.InitalizeAppConfig │ ├── AppConfigInitializer.cs │ ├── Codebreaker.InitalizeAppConfig.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── ConfigurationPrototype │ ├── ConfigurationPrototype.csproj │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── ManagedIdentities.drawio └── Readme.md ├── ch08 ├── Chapter08.slnx ├── ClientLib.slnx ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Utilities │ │ └── Log.cs │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── .gitignore │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── azure.yaml │ └── next-steps.md ├── Codebreaker.GameAPIs.KiotaClient │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.KiotaClient.csproj │ ├── codebreaker │ │ ├── Games │ │ │ ├── GamesRequestBuilder.cs │ │ │ └── Item │ │ │ │ ├── GamesItemRequestBuilder.cs │ │ │ │ └── WithGameItemRequestBuilder.cs │ │ ├── GamesAPIClient.cs │ │ ├── Models │ │ │ ├── CreateGameRequest.cs │ │ │ ├── CreateGameResponse.cs │ │ │ ├── CreateGameResponse_fieldValues.cs │ │ │ ├── Game.cs │ │ │ ├── GameError.cs │ │ │ ├── GameType.cs │ │ │ ├── Game_fieldValues.cs │ │ │ ├── Move.cs │ │ │ ├── TimeSpanObject.cs │ │ │ ├── UpdateGameRequest.cs │ │ │ └── UpdateGameResponse.cs │ │ └── kiota-lock.json │ └── package │ │ ├── codebreaker.jpeg │ │ └── readme.md ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ └── FeatureManagerExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.InitalizeAppConfig │ ├── AppConfigInitializer.cs │ ├── Codebreaker.InitalizeAppConfig.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── Readme.md └── workflows │ ├── codebreaker-deploy.yml │ ├── codebreaker-production.yml │ ├── codebreaker-test.yml │ ├── codebreaker-testanddeploy.yml │ ├── kiota-lib.yml │ ├── shared-create-nuget.yml │ ├── shared-deploy-withenvironment.yml │ ├── shared-deploy.yml │ ├── shared-githubpackages.yml │ └── shared-test.yml ├── ch09 ├── BlazorServerTest │ └── BlazorServerTest.csproj ├── BlazorWASMAuth │ ├── BlazorWASMAuth.Client │ │ ├── BlazorWASMAuth.Client.csproj │ │ ├── Pages │ │ │ ├── Auth.razor │ │ │ ├── Authentication.razor │ │ │ ├── Counter.razor │ │ │ └── LoginDisplay.razor │ │ ├── PersistentAuthenticationStateProvider.cs │ │ ├── Program.cs │ │ ├── RedirectToLogin.razor │ │ ├── UserInfo.cs │ │ ├── _Imports.razor │ │ └── wwwroot │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── index.html │ ├── BlazorWASMAuth.sln │ └── BlazorWASMAuth │ │ ├── BlazorWASMAuth.csproj │ │ ├── Components │ │ ├── Account │ │ │ └── PersistingServerAuthenticationStateProvider.cs │ │ ├── App.razor │ │ ├── Layout │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── NavMenu.razor │ │ │ └── NavMenu.razor.css │ │ ├── Pages │ │ │ ├── Error.razor │ │ │ ├── Home.razor │ │ │ └── Weather.razor │ │ ├── Routes.razor │ │ └── _Imports.razor │ │ ├── Pages │ │ └── Authentication.razor │ │ ├── Program.cs │ │ ├── Properties │ │ ├── launchSettings.json │ │ ├── serviceDependencies.json │ │ └── serviceDependencies.local.json │ │ ├── Shared │ │ ├── LoginDisplay.razor │ │ └── RedirectToLogin.razor │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ ├── app.css │ │ ├── appsettings.json │ │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── favicon.png ├── Chapter9.slnx ├── CodeBreaker.Blazor.Client │ ├── CodeBreaker.Blazor.Client.csproj │ ├── Components │ │ ├── GameResultDialog.razor │ │ ├── GameResultDialog.razor.cs │ │ ├── GameResultDialog.razor.css │ │ ├── LanguageSelector.razor │ │ ├── LanguageSelector.razor.cs │ │ ├── Playground.razor │ │ ├── Playground.razor.cs │ │ ├── Playground.razor.css │ │ ├── Playground.razor.js │ │ ├── StopWatch.razor │ │ └── StopWatch.razor.cs │ ├── Extensions │ │ ├── ConfigurationExtensions.cs │ │ ├── DictionaryExtensions.cs │ │ └── LocalizationExtensions.cs │ ├── Models │ │ ├── Field.Parsable.cs │ │ ├── Field.cs │ │ └── GameMode.cs │ ├── Pages │ │ ├── AboutPage.razor │ │ ├── AboutPage.razor.cs │ │ ├── AboutPage.razor.css │ │ ├── Authentication.razor │ │ ├── Authentication.razor.cs │ │ ├── GamePage.razor │ │ ├── GamePage.razor.cs │ │ ├── GamePage.razor.css │ │ ├── IndexPage.razor │ │ ├── IndexPage.razor.cs │ │ ├── IndexPage.razor.css │ │ ├── ReportsPage.razor │ │ ├── ReportsPage.razor.cs │ │ ├── ReportsPage.razor.css │ │ ├── UserInformationPage.razor │ │ ├── UserInformationPage.razor.cs │ │ └── UserInformationPage.razor.css │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Resource.Designer.cs │ │ ├── Resource.de.resx │ │ └── Resource.resx │ ├── Routes.razor │ ├── Shared │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── LoginDisplay.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.cs │ │ ├── MainLayout.razor.css │ │ ├── RedirectToLogin.razor │ │ └── RedirectToLogin.razor.cs │ ├── ViewModels │ │ └── ReportFilterContext.cs │ ├── _Imports.razor │ └── wwwroot │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json ├── CodeBreaker.Blazor.UI │ ├── CodeBreaker.Blazor.UI.csproj │ ├── Components │ │ ├── Button │ │ │ ├── CodeBreakerButton.razor │ │ │ ├── CodeBreakerButton.razor.cs │ │ │ ├── CodeBreakerButton.razor.css │ │ │ ├── CodeBreakerIconButton.razor │ │ │ ├── CodeBreakerIconButton.razor.cs │ │ │ └── CodeBreakerIconButton.razor.css │ │ ├── Card │ │ │ ├── CodeBreakerCard.razor │ │ │ ├── CodeBreakerCard.razor.cs │ │ │ └── CodeBreakerCard.razor.css │ │ ├── DataGrid │ │ │ ├── CodeBreakerDataGrid.razor │ │ │ ├── CodeBreakerDataGrid.razor.cs │ │ │ └── CodeBreakerDataGrid.razor.css │ │ ├── DatePicker │ │ │ ├── CodeBreakerDatePicker.razor │ │ │ ├── CodeBreakerDatePicker.razor.cs │ │ │ └── CodeBreakerDatePicker.razor.css │ │ ├── Dialog │ │ │ ├── CodeBreakerDialog.razor │ │ │ ├── CodeBreakerDialog.razor.cs │ │ │ └── CodeBreakerDialog.razor.css │ │ ├── Input │ │ │ ├── CodeBreakerInputBase.cs │ │ │ ├── CodeBreakerTextField.razor │ │ │ ├── CodeBreakerTextField.razor.cs │ │ │ └── CodeBreakerTextField.razor.css │ │ ├── Layout │ │ │ ├── CodeBreakerLayout.razor │ │ │ ├── CodeBreakerLayout.razor.cs │ │ │ └── CodeBreakerLayout.razor.css │ │ ├── Menu │ │ │ ├── CodeBreakerNavMenu.razor │ │ │ ├── CodeBreakerNavMenu.razor.cs │ │ │ └── CodeBreakerNavMenu.razor.css │ │ ├── Progress │ │ │ ├── CodeBreakerProgressCircular.razor │ │ │ ├── CodeBreakerProgressCircular.razor.cs │ │ │ └── CodeBreakerProgressCircular.razor.css │ │ ├── Radio │ │ │ ├── CodeBreakerRadioGroup.razor │ │ │ ├── CodeBreakerRadioGroup.razor.cs │ │ │ └── CodeBreakerRadioGroup.razor.css │ │ ├── Select │ │ │ ├── CodeBreakerSelect.razor │ │ │ ├── CodeBreakerSelect.razor.cs │ │ │ └── CodeBreakerSelect.razor.css │ │ ├── Switch │ │ │ ├── CodeBreakerSwitch.razor │ │ │ ├── CodeBreakerSwitch.razor.cs │ │ │ └── CodeBreakerSwitch.razor.css │ │ ├── Tabs │ │ │ ├── CodeBreakerTab.razor │ │ │ ├── CodeBreakerTab.razor.cs │ │ │ ├── CodeBreakerTab.razor.css │ │ │ ├── CodeBreakerTabs.razor │ │ │ ├── CodeBreakerTabs.razor.cs │ │ │ └── CodeBreakerTabs.razor.css │ │ └── ThemeSwitch │ │ │ ├── CodeBreakerThemeSwitch.razor │ │ │ ├── CodeBreakerThemeSwitch.razor.cs │ │ │ ├── CodeBreakerThemeSwitch.razor.css │ │ │ └── CodeBreakerThemeSwitch.razor.js │ ├── Models │ │ ├── DataGrid │ │ │ └── CodeBreakerColumnDefinition.cs │ │ ├── Icon │ │ │ └── CodeBreakerIcon.cs │ │ └── Menu │ │ │ └── NavLinkItem.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── Dialog │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ └── Theme │ │ │ └── ThemeService.cs │ ├── _Imports.razor │ └── wwwroot │ │ └── css │ │ └── CodeBreaker.Blazor.UI.css ├── CodeBreaker.Blazor │ ├── CodeBreaker.Blazor.csproj │ ├── Components │ │ ├── App.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.json │ └── wwwroot │ │ ├── CodeBreaker.Blazor.lib.module.js │ │ ├── css │ │ └── app.css │ │ ├── favicon.ico │ │ ├── icon-192.png │ │ ├── icon-512.png │ │ ├── manifest.json │ │ ├── service-worker.js │ │ └── service-worker.published.js ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreaker.Bot.http │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Utilities │ │ └── Log.cs │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.ApiGateway.Identities │ ├── Codebreaker.ApiGateway.Identities.Client │ │ ├── Codebreaker.ApiGateway.Identities.Client.csproj │ │ ├── Pages │ │ │ ├── Auth.razor │ │ │ └── Counter.razor │ │ ├── PersistentAuthenticationStateProvider.cs │ │ ├── Program.cs │ │ ├── RedirectToLogin.razor │ │ ├── UserInfo.cs │ │ ├── _Imports.razor │ │ └── wwwroot │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ ├── Codebreaker.ApiGateway.Identities.sln │ └── Codebreaker.ApiGateway.Identities │ │ ├── Codebreaker.ApiGateway.Identities.csproj │ │ ├── Components │ │ ├── Account │ │ │ ├── IdentityComponentsEndpointRouteBuilderExtensions.cs │ │ │ ├── IdentityNoOpEmailSender.cs │ │ │ ├── IdentityRedirectManager.cs │ │ │ ├── IdentityUserAccessor.cs │ │ │ ├── Pages │ │ │ │ ├── AccessDenied.razor │ │ │ │ ├── ConfirmEmail.razor │ │ │ │ ├── ConfirmEmailChange.razor │ │ │ │ ├── ExternalLogin.razor │ │ │ │ ├── ForgotPassword.razor │ │ │ │ ├── ForgotPasswordConfirmation.razor │ │ │ │ ├── InvalidPasswordReset.razor │ │ │ │ ├── InvalidUser.razor │ │ │ │ ├── Lockout.razor │ │ │ │ ├── Login.razor │ │ │ │ ├── LoginWith2fa.razor │ │ │ │ ├── LoginWithRecoveryCode.razor │ │ │ │ ├── Manage │ │ │ │ │ ├── ChangePassword.razor │ │ │ │ │ ├── DeletePersonalData.razor │ │ │ │ │ ├── Disable2fa.razor │ │ │ │ │ ├── Email.razor │ │ │ │ │ ├── EnableAuthenticator.razor │ │ │ │ │ ├── ExternalLogins.razor │ │ │ │ │ ├── GenerateRecoveryCodes.razor │ │ │ │ │ ├── Index.razor │ │ │ │ │ ├── PersonalData.razor │ │ │ │ │ ├── ResetAuthenticator.razor │ │ │ │ │ ├── SetPassword.razor │ │ │ │ │ ├── TwoFactorAuthentication.razor │ │ │ │ │ └── _Imports.razor │ │ │ │ ├── Register.razor │ │ │ │ ├── RegisterConfirmation.razor │ │ │ │ ├── ResendEmailConfirmation.razor │ │ │ │ ├── ResetPassword.razor │ │ │ │ ├── ResetPasswordConfirmation.razor │ │ │ │ └── _Imports.razor │ │ │ ├── PersistingRevalidatingAuthenticationStateProvider.cs │ │ │ └── Shared │ │ │ │ ├── AccountLayout.razor │ │ │ │ ├── ExternalLoginPicker.razor │ │ │ │ ├── ManageLayout.razor │ │ │ │ ├── ManageNavMenu.razor │ │ │ │ ├── ShowRecoveryCodes.razor │ │ │ │ └── StatusMessage.razor │ │ ├── App.razor │ │ ├── Layout │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── NavMenu.razor │ │ │ └── NavMenu.razor.css │ │ ├── Pages │ │ │ ├── Error.razor │ │ │ ├── Home.razor │ │ │ └── Weather.razor │ │ ├── Routes.razor │ │ └── _Imports.razor │ │ ├── Data │ │ ├── ApplicationDbContext.cs │ │ └── ApplicationUser.cs │ │ ├── Migrations │ │ ├── 20240506164307_CreateIdentitySchema.Designer.cs │ │ ├── 20240506164307_CreateIdentitySchema.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ ├── app.css │ │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── favicon.png ├── Codebreaker.ApiGateway │ ├── Codebreaker.ApiGateway.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── TokenService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ └── ModelExtensions.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Authentication │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.Authentication.csproj │ ├── Codebreaker.Authentication.http │ ├── Data │ │ ├── ApplicationDbContext.cs │ │ └── GamePlayerIdentityUser.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Console │ ├── Codebreaker.Console.csproj │ ├── Inputs.cs │ ├── Program.cs │ ├── Runner.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Client │ ├── AuthenticationService.cs │ ├── Codebreaker - Backup.GameAPIs.Client.csproj │ ├── Codebreaker.GameAPIs.Client.csproj │ ├── GamesClient.cs │ ├── IGamesClient.cs │ ├── Images │ │ └── codebreaker.jpeg │ ├── Models │ │ ├── CreateGameRequest.cs │ │ ├── CreateGameResponse.cs │ │ ├── GameInfo.cs │ │ ├── GamesQuery.cs │ │ ├── MoveInfo.cs │ │ ├── UpdateGameRequest.cs │ │ └── UpdateGameResponse.cs │ ├── Usings.cs │ └── docs │ │ └── readme.md ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── GameEndpoints.cs │ │ └── ValidatePlayernameEndpointFilter.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ └── FeatureManagerExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── ClaimsPrincipalExtensions.cs │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── ConfigurationExtensions.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ ├── HttpClientExtensions.cs │ └── ServiceNames.cs ├── WebAppAuth │ ├── Auth │ │ ├── AuthorizationHandler.cs │ │ ├── GatewayClient.cs │ │ └── LoginLogoutEndpointRouteBuilderExtensions.cs │ ├── Pages │ │ ├── Error.cshtml │ │ ├── Error.cshtml.cs │ │ ├── Index.cshtml │ │ ├── Index.cshtml.cs │ │ ├── Privacy.cshtml │ │ ├── Privacy.cshtml.cs │ │ ├── Shared │ │ │ ├── _Layout.cshtml │ │ │ ├── _Layout.cshtml.css │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── TestCall.cshtml │ │ ├── TestCall.cshtml.cs │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── WebAppAuth.csproj │ ├── appsettings.Development.json │ ├── appsettings.json │ └── wwwroot │ │ ├── css │ │ └── site.css │ │ ├── favicon.ico │ │ ├── js │ │ └── site.js │ │ └── lib │ │ ├── bootstrap │ │ ├── LICENSE │ │ └── dist │ │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-grid.rtl.css │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ ├── bootstrap-utilities.css │ │ │ ├── bootstrap-utilities.css.map │ │ │ ├── bootstrap-utilities.min.css │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── bootstrap.rtl.css │ │ │ ├── bootstrap.rtl.css.map │ │ │ ├── bootstrap.rtl.min.css │ │ │ └── bootstrap.rtl.min.css.map │ │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.esm.js │ │ │ ├── bootstrap.esm.js.map │ │ │ ├── bootstrap.esm.min.js │ │ │ ├── bootstrap.esm.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── jquery-validation-unobtrusive │ │ ├── LICENSE.txt │ │ ├── jquery.validate.unobtrusive.js │ │ └── jquery.validate.unobtrusive.min.js │ │ ├── jquery-validation │ │ ├── LICENSE.md │ │ └── dist │ │ │ ├── additional-methods.js │ │ │ ├── additional-methods.min.js │ │ │ ├── jquery.validate.js │ │ │ └── jquery.validate.min.js │ │ └── jquery │ │ ├── LICENSE.txt │ │ └── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map ├── realms │ └── weathershop-realm.json └── yarp.md ├── ch10 ├── Final │ ├── Chapter10.slnx │ ├── CodeBreaker.Bot.Tests │ │ ├── CodeBreaker.Bot.Tests.csproj │ │ ├── CodeBreakerAlgorithmsTests.cs │ │ └── xunit.runner.json │ ├── CodeBreaker.Bot │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Api │ │ │ ├── StatusInfo.cs │ │ │ └── StatusResponse.cs │ │ ├── ApplicationServices.cs │ │ ├── CodeBreaker.Bot.csproj │ │ ├── CodeBreakerAlgorithms.cs │ │ ├── CodeBreakerGameRunner.cs │ │ ├── CodeBreakerTimer.cs │ │ ├── Endpoints │ │ │ └── BotEndpoints.cs │ │ ├── Exceptions │ │ │ ├── BotNotFoundException.cs │ │ │ └── UnknownStatusException.cs │ │ ├── GlobalUsings.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Utilities │ │ │ └── Log.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json │ ├── Codebreaker.AppHost │ │ ├── AppHost.cs │ │ ├── Codebreaker.AppHost.csproj │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── Codebreaker.GameAPIs.Analyzers.Tests │ │ ├── Analyzers │ │ │ ├── ColorGame6x4AnalyzerTests.cs │ │ │ ├── ColorGame8x5AnalyzerTests.cs │ │ │ └── ShapeGame5x5x4AnalyzerTests.cs │ │ ├── Codebreaker.Analyzers.Tests.csproj │ │ ├── GlobalUsings.cs │ │ ├── MockColorGame.cs │ │ ├── MockShapeGame.cs │ │ ├── Results │ │ │ ├── ColorResultTests.cs │ │ │ ├── ShapeAndColorResultTests.cs │ │ │ └── SimpleColorResultTests.cs │ │ └── xunit.runner.json │ ├── Codebreaker.GameAPIs.Analyzers │ │ ├── Analyzers │ │ │ ├── ColorGameGuessAnalyzer.cs │ │ │ ├── GameGuessAnalyzer.cs │ │ │ ├── ShapeGameGuessAnalyzer.cs │ │ │ └── SimpleGameGuessAnalyzer.cs │ │ ├── Codebreaker.Analyzers.csproj │ │ ├── Contracts │ │ │ ├── IGame.cs │ │ │ └── IGameGuessAnalyzer.cs │ │ ├── Extensions │ │ │ ├── FieldExtensions.cs │ │ │ └── PegExtensions.cs │ │ ├── Fields │ │ │ ├── ColorField.cs │ │ │ ├── ColorField_Parsable.cs │ │ │ ├── FieldCategories.cs │ │ │ ├── ShapeAndColorField.cs │ │ │ └── ShapeAndColorField_Parsable.cs │ │ ├── GlobalUsings.cs │ │ ├── Images │ │ │ └── codebreaker.jpeg │ │ ├── Models │ │ │ ├── ColorAndShapeValues.cs │ │ │ └── GameTypes.cs │ │ ├── Results │ │ │ ├── ColorResult.cs │ │ │ ├── ColorResult_ISpanFormattable.cs │ │ │ ├── ColorResult_ISpanParsable.cs │ │ │ ├── ShapeAndColorResult.cs │ │ │ ├── ShapeAndColorResult_ISpanFormattable.cs │ │ │ ├── ShapeAndColorResult_ISpanParsable.cs │ │ │ ├── SimpleColorResult.cs │ │ │ ├── SimpleColorResult_Equality.cs │ │ │ ├── SimpleColorResult_ISpanFormattable.cs │ │ │ └── SimpleColorResult_ISpanParsable.cs │ │ └── docs │ │ │ └── readme.md │ ├── Codebreaker.GameAPIs.Playwright │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── Codebreaker.GameAPIs.Playwright.csproj │ │ ├── GamesApiTests.cs │ │ ├── GlobalUsings.cs │ │ └── appsettings.json │ ├── Codebreaker.GameAPIs.Tests │ │ ├── Codebreaker.GameAPIs.Tests.csproj │ │ ├── GamesFactoryTests.cs │ │ ├── GamesServiceTests.cs │ │ ├── GlobalUsings.cs │ │ ├── appsettings.json │ │ └── xunit.runner.json │ ├── Codebreaker.GameAPIs │ │ ├── .config │ │ │ └── dotnet-tools.json │ │ ├── ApplicationServices.cs │ │ ├── Codebreaker.GameAPIs.csproj │ │ ├── Codebreaker.GameAPIs.http │ │ ├── Data │ │ │ ├── DataContextProxy.cs │ │ │ └── GamesMemoryRepository.cs │ │ ├── Endpoints │ │ │ ├── CreateDatabaseEndpoint.cs │ │ │ └── GameEndpoints.cs │ │ ├── Errors │ │ │ └── GameError.cs │ │ ├── Extensions │ │ │ ├── ApiModelExtensions.cs │ │ │ └── FeatureManagerExtensions.cs │ │ ├── GlobalUsings.cs │ │ ├── Models │ │ │ └── GameAPIModels.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Services │ │ │ ├── GamesFactory.cs │ │ │ ├── GamesService.cs │ │ │ └── IGamesService.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── Codebreaker.IntegrationTests │ │ ├── Codebreaker.IntegrationTests.csproj │ │ └── GameAPIsTests.cs │ └── Codebreaker.ServiceDefaults │ │ ├── Codebreaker.ServiceDefaults.csproj │ │ ├── CodebreakerSettings.cs │ │ ├── EnvVarNames.cs │ │ ├── Extensions.cs │ │ └── ServiceNames.cs ├── Readme.md └── Start │ ├── Chapter10.slnx │ ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Utilities │ │ └── Log.cs │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json │ ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json │ ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ └── FeatureManagerExtensions.cs │ ├── GlobalUsings.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json │ └── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── ch11 ├── .gitignore ├── Chapter11.slnx ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── Extensions │ │ └── LoggerExtensions.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── .gitignore │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ ├── DevCertHostingExtensions.cs │ │ └── ModelExtensions.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Prometheus.json │ └── appsettings.json ├── Codebreaker.GameAPIs.Client.Tests │ ├── Codebreaker.GameAPIs.Client.Tests.csproj │ ├── GamesClientTests.cs │ └── GlobalUsings.cs ├── Codebreaker.GameAPIs.Client │ ├── ActivityExtensions.cs │ ├── Codebreaker.GameAPIs.Client.csproj │ ├── GamesClient.cs │ ├── GlobalUsings.cs │ ├── IGamesClient.cs │ ├── Images │ │ └── codebreaker.jpeg │ ├── Log.cs │ ├── Models │ │ ├── CreateGameRequest.cs │ │ ├── CreateGameResponse.cs │ │ ├── GameInfo.cs │ │ ├── GamesQuery.cs │ │ ├── MoveInfo.cs │ │ ├── UpdateGameRequest.cs │ │ └── UpdateGameResponse.cs │ └── docs │ │ └── readme.md ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ ├── appsettings.json │ └── xunit.runner.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ └── FeatureManagerExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ └── GameAPIModels.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── Readme.md ├── azure.yaml ├── config.yaml ├── docs │ └── OpenTelemetry-Grafana-Prometheus-Setup.md ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json ├── otelcollector │ └── config.yaml └── prometheus │ └── prometheus.yml ├── ch12 ├── Chapter12.slnx ├── CodeBreaker.Blazor.Host │ ├── ApplicationServices.cs │ ├── CodeBreaker.Blazor.Host.csproj │ ├── Components │ │ ├── App.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.json │ └── wwwroot │ │ ├── CodeBreaker.Blazor.lib.module.js │ │ ├── css │ │ └── app.css │ │ ├── favicon.ico │ │ ├── icon-192.png │ │ ├── icon-512.png │ │ ├── manifest.json │ │ ├── service-worker.js │ │ └── service-worker.published.js ├── CodeBreaker.Blazor.UI │ ├── CodeBreaker.Blazor.UI.csproj │ ├── Components │ │ ├── Button │ │ │ ├── CodeBreakerButton.razor │ │ │ ├── CodeBreakerButton.razor.cs │ │ │ ├── CodeBreakerButton.razor.css │ │ │ ├── CodeBreakerIconButton.razor │ │ │ ├── CodeBreakerIconButton.razor.cs │ │ │ └── CodeBreakerIconButton.razor.css │ │ ├── Card │ │ │ ├── CodeBreakerCard.razor │ │ │ ├── CodeBreakerCard.razor.cs │ │ │ └── CodeBreakerCard.razor.css │ │ ├── DataGrid │ │ │ ├── CodeBreakerDataGrid.razor │ │ │ ├── CodeBreakerDataGrid.razor.cs │ │ │ └── CodeBreakerDataGrid.razor.css │ │ ├── DatePicker │ │ │ ├── CodeBreakerDatePicker.razor │ │ │ ├── CodeBreakerDatePicker.razor.cs │ │ │ └── CodeBreakerDatePicker.razor.css │ │ ├── Dialog │ │ │ ├── CodeBreakerDialog.razor │ │ │ ├── CodeBreakerDialog.razor.cs │ │ │ └── CodeBreakerDialog.razor.css │ │ ├── Input │ │ │ ├── CodeBreakerInputBase.cs │ │ │ ├── CodeBreakerTextField.razor │ │ │ ├── CodeBreakerTextField.razor.cs │ │ │ └── CodeBreakerTextField.razor.css │ │ ├── Layout │ │ │ ├── CodeBreakerLayout.razor │ │ │ ├── CodeBreakerLayout.razor.cs │ │ │ └── CodeBreakerLayout.razor.css │ │ ├── Menu │ │ │ ├── CodeBreakerNavMenu.razor │ │ │ ├── CodeBreakerNavMenu.razor.cs │ │ │ └── CodeBreakerNavMenu.razor.css │ │ ├── Progress │ │ │ ├── CodeBreakerProgressCircular.razor │ │ │ ├── CodeBreakerProgressCircular.razor.cs │ │ │ └── CodeBreakerProgressCircular.razor.css │ │ ├── Radio │ │ │ ├── CodeBreakerRadioGroup.razor │ │ │ ├── CodeBreakerRadioGroup.razor.cs │ │ │ └── CodeBreakerRadioGroup.razor.css │ │ ├── Select │ │ │ ├── CodeBreakerSelect.razor │ │ │ ├── CodeBreakerSelect.razor.cs │ │ │ └── CodeBreakerSelect.razor.css │ │ ├── Switch │ │ │ ├── CodeBreakerSwitch.razor │ │ │ ├── CodeBreakerSwitch.razor.cs │ │ │ └── CodeBreakerSwitch.razor.css │ │ ├── Tabs │ │ │ ├── CodeBreakerTab.razor │ │ │ ├── CodeBreakerTab.razor.cs │ │ │ ├── CodeBreakerTab.razor.css │ │ │ ├── CodeBreakerTabs.razor │ │ │ ├── CodeBreakerTabs.razor.cs │ │ │ └── CodeBreakerTabs.razor.css │ │ └── ThemeSwitch │ │ │ ├── CodeBreakerThemeSwitch.razor │ │ │ ├── CodeBreakerThemeSwitch.razor.cs │ │ │ ├── CodeBreakerThemeSwitch.razor.css │ │ │ └── CodeBreakerThemeSwitch.razor.js │ ├── Models │ │ ├── DataGrid │ │ │ └── CodeBreakerColumnDefinition.cs │ │ ├── Icon │ │ │ └── CodeBreakerIcon.cs │ │ └── Menu │ │ │ └── NavLinkItem.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── Dialog │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ └── Theme │ │ │ └── ThemeService.cs │ ├── _Imports.razor │ └── wwwroot │ │ └── css │ │ └── CodeBreaker.Blazor.UI.css ├── CodeBreaker.Blazor │ ├── CodeBreaker.Blazor.csproj │ ├── Components │ │ ├── GameResultDialog.razor │ │ ├── GameResultDialog.razor.cs │ │ ├── GameResultDialog.razor.css │ │ ├── LanguageSelector.razor │ │ ├── LanguageSelector.razor.cs │ │ ├── Playground.razor │ │ ├── Playground.razor.cs │ │ ├── Playground.razor.css │ │ ├── Playground.razor.js │ │ ├── StopWatch.razor │ │ └── StopWatch.razor.cs │ ├── Extensions │ │ └── LocalizationExtensions.cs │ ├── Models │ │ └── GameMode.cs │ ├── Pages │ │ ├── AboutPage.razor │ │ ├── AboutPage.razor.cs │ │ ├── AboutPage.razor.css │ │ ├── Authentication.razor │ │ ├── Authentication.razor.cs │ │ ├── GamePage.razor │ │ ├── GamePage.razor.cs │ │ ├── GamePage.razor.css │ │ ├── IndexPage.razor │ │ ├── IndexPage.razor.cs │ │ ├── IndexPage.razor.css │ │ ├── ReportsPage.razor │ │ ├── ReportsPage.razor.cs │ │ ├── ReportsPage.razor.css │ │ ├── UserInformationPage.razor │ │ ├── UserInformationPage.razor.cs │ │ └── UserInformationPage.razor.css │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Resource.Designer.cs │ │ ├── Resource.de.resx │ │ └── Resource.resx │ ├── Routes.razor │ ├── Shared │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── LoginDisplay.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.cs │ │ ├── MainLayout.razor.css │ │ ├── RedirectToLogin.razor │ │ └── RedirectToLogin.razor.cs │ ├── ViewModels │ │ └── ReportFilterContext.cs │ ├── _Imports.razor │ └── wwwroot │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── Extensions │ │ └── LoggerExtensions.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── ApplicationBuilderExtensions.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ ├── DevCertHostingExtensions.cs │ │ └── ModelExtensions.cs │ ├── OpenTelemetryCollector │ │ ├── OpenTelemetryCollectorResource.cs │ │ ├── OpenTelemetryCollectorResourceBuilderExtensions.cs │ │ ├── OpenTelemetryCollectorServiceExtensions.cs │ │ └── README.md │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Prometheus.json │ └── appsettings.json ├── Codebreaker.GameAPIs.Playwright │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.Playwright.csproj │ ├── GamesApiTests.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GameExtensionsTests.cs │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GamesServiceWithCachingTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ ├── appsettings.json │ └── xunit.runner.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ ├── DistributedMemoryGamesRepository.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ ├── GameAPIModels.cs │ │ └── GameExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ ├── GamesServiceWithCaching.cs │ │ └── IGamesService.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── Readme.md ├── azure.yaml ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json ├── next-steps.md ├── otelcollector │ └── config.yaml ├── playgame-5users.jmx └── prometheus │ └── prometheus.yml ├── ch13 ├── Chapter13.slnx ├── CodeBreaker.Blazor.Host │ ├── ApplicationServices.cs │ ├── CodeBreaker.Blazor.Host.csproj │ ├── Components │ │ ├── App.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.json │ └── wwwroot │ │ ├── CodeBreaker.Blazor.lib.module.js │ │ ├── css │ │ └── app.css │ │ ├── favicon.ico │ │ ├── icon-192.png │ │ ├── icon-512.png │ │ ├── manifest.json │ │ ├── service-worker.js │ │ └── service-worker.published.js ├── CodeBreaker.Blazor.UI │ ├── CodeBreaker.Blazor.UI.csproj │ ├── Components │ │ ├── Button │ │ │ ├── CodeBreakerButton.razor │ │ │ ├── CodeBreakerButton.razor.cs │ │ │ ├── CodeBreakerButton.razor.css │ │ │ ├── CodeBreakerIconButton.razor │ │ │ ├── CodeBreakerIconButton.razor.cs │ │ │ └── CodeBreakerIconButton.razor.css │ │ ├── Card │ │ │ ├── CodeBreakerCard.razor │ │ │ ├── CodeBreakerCard.razor.cs │ │ │ └── CodeBreakerCard.razor.css │ │ ├── DataGrid │ │ │ ├── CodeBreakerDataGrid.razor │ │ │ ├── CodeBreakerDataGrid.razor.cs │ │ │ └── CodeBreakerDataGrid.razor.css │ │ ├── DatePicker │ │ │ ├── CodeBreakerDatePicker.razor │ │ │ ├── CodeBreakerDatePicker.razor.cs │ │ │ └── CodeBreakerDatePicker.razor.css │ │ ├── Dialog │ │ │ ├── CodeBreakerDialog.razor │ │ │ ├── CodeBreakerDialog.razor.cs │ │ │ └── CodeBreakerDialog.razor.css │ │ ├── Input │ │ │ ├── CodeBreakerInputBase.cs │ │ │ ├── CodeBreakerTextField.razor │ │ │ ├── CodeBreakerTextField.razor.cs │ │ │ └── CodeBreakerTextField.razor.css │ │ ├── Layout │ │ │ ├── CodeBreakerLayout.razor │ │ │ ├── CodeBreakerLayout.razor.cs │ │ │ └── CodeBreakerLayout.razor.css │ │ ├── Menu │ │ │ ├── CodeBreakerNavMenu.razor │ │ │ ├── CodeBreakerNavMenu.razor.cs │ │ │ └── CodeBreakerNavMenu.razor.css │ │ ├── Progress │ │ │ ├── CodeBreakerProgressCircular.razor │ │ │ ├── CodeBreakerProgressCircular.razor.cs │ │ │ └── CodeBreakerProgressCircular.razor.css │ │ ├── Radio │ │ │ ├── CodeBreakerRadioGroup.razor │ │ │ ├── CodeBreakerRadioGroup.razor.cs │ │ │ └── CodeBreakerRadioGroup.razor.css │ │ ├── Select │ │ │ ├── CodeBreakerSelect.razor │ │ │ ├── CodeBreakerSelect.razor.cs │ │ │ └── CodeBreakerSelect.razor.css │ │ ├── Switch │ │ │ ├── CodeBreakerSwitch.razor │ │ │ ├── CodeBreakerSwitch.razor.cs │ │ │ └── CodeBreakerSwitch.razor.css │ │ ├── Tabs │ │ │ ├── CodeBreakerTab.razor │ │ │ ├── CodeBreakerTab.razor.cs │ │ │ ├── CodeBreakerTab.razor.css │ │ │ ├── CodeBreakerTabs.razor │ │ │ ├── CodeBreakerTabs.razor.cs │ │ │ └── CodeBreakerTabs.razor.css │ │ └── ThemeSwitch │ │ │ ├── CodeBreakerThemeSwitch.razor │ │ │ ├── CodeBreakerThemeSwitch.razor.cs │ │ │ ├── CodeBreakerThemeSwitch.razor.css │ │ │ └── CodeBreakerThemeSwitch.razor.js │ ├── Models │ │ ├── DataGrid │ │ │ └── CodeBreakerColumnDefinition.cs │ │ ├── Icon │ │ │ └── CodeBreakerIcon.cs │ │ └── Menu │ │ │ └── NavLinkItem.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── Dialog │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ └── Theme │ │ │ └── ThemeService.cs │ ├── _Imports.razor │ └── wwwroot │ │ └── css │ │ └── CodeBreaker.Blazor.UI.css ├── CodeBreaker.Blazor │ ├── CodeBreaker.Blazor.csproj │ ├── Components │ │ ├── GameResultDialog.razor │ │ ├── GameResultDialog.razor.cs │ │ ├── GameResultDialog.razor.css │ │ ├── LanguageSelector.razor │ │ ├── LanguageSelector.razor.cs │ │ ├── Playground.razor │ │ ├── Playground.razor.cs │ │ ├── Playground.razor.css │ │ ├── Playground.razor.js │ │ ├── StopWatch.razor │ │ └── StopWatch.razor.cs │ ├── Extensions │ │ └── LocalizationExtensions.cs │ ├── Models │ │ └── GameMode.cs │ ├── Pages │ │ ├── AboutPage.razor │ │ ├── AboutPage.razor.cs │ │ ├── AboutPage.razor.css │ │ ├── Authentication.razor │ │ ├── Authentication.razor.cs │ │ ├── GamePage.razor │ │ ├── GamePage.razor.cs │ │ ├── GamePage.razor.css │ │ ├── IndexPage.razor │ │ ├── IndexPage.razor.cs │ │ ├── IndexPage.razor.css │ │ ├── ReportsPage.razor │ │ ├── ReportsPage.razor.cs │ │ ├── ReportsPage.razor.css │ │ ├── UserInformationPage.razor │ │ ├── UserInformationPage.razor.cs │ │ └── UserInformationPage.razor.css │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Resource.Designer.cs │ │ ├── Resource.de.resx │ │ └── Resource.resx │ ├── Routes.razor │ ├── Shared │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── LoginDisplay.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.cs │ │ ├── MainLayout.razor.css │ │ ├── RedirectToLogin.razor │ │ └── RedirectToLogin.razor.cs │ ├── ViewModels │ │ └── ReportFilterContext.cs │ ├── _Imports.razor │ └── wwwroot │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ ├── StatusInfo.cs │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── Extensions │ │ └── LoggerExtensions.cs │ ├── GlobalUsings.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── ApplicationBuilderExtensions.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ ├── DevCertHostingExtensions.cs │ │ └── ModelExtensions.cs │ ├── OpenTelemetryCollector │ │ ├── OpenTelemetryCollectorResource.cs │ │ ├── OpenTelemetryCollectorResourceBuilderExtensions.cs │ │ ├── OpenTelemetryCollectorServiceExtensions.cs │ │ └── README.md │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Prometheus.json │ └── appsettings.json ├── Codebreaker.AppHostPrometheus │ ├── Codebreaker.AppHostPrometheus.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Blazor.LiveClient │ ├── Codebreaker.Blazor.LiveClient.csproj │ ├── Components │ │ ├── App.razor │ │ ├── Layout │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── NavMenu.razor │ │ │ └── NavMenu.razor.css │ │ ├── Pages │ │ │ ├── Counter.razor │ │ │ ├── Error.razor │ │ │ ├── Home.razor │ │ │ └── Weather.razor │ │ ├── Routes.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ └── LiveClient.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── wwwroot │ │ ├── app.css │ │ ├── favicon.png │ │ └── lib │ │ └── bootstrap │ │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-grid.rtl.css │ │ ├── bootstrap-grid.rtl.css.map │ │ ├── bootstrap-grid.rtl.min.css │ │ ├── bootstrap-grid.rtl.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap-reboot.rtl.css │ │ ├── bootstrap-reboot.rtl.css.map │ │ ├── bootstrap-reboot.rtl.min.css │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ ├── bootstrap-utilities.css │ │ ├── bootstrap-utilities.css.map │ │ ├── bootstrap-utilities.min.css │ │ ├── bootstrap-utilities.min.css.map │ │ ├── bootstrap-utilities.rtl.css │ │ ├── bootstrap-utilities.rtl.css.map │ │ ├── bootstrap-utilities.rtl.min.css │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── bootstrap.rtl.css │ │ ├── bootstrap.rtl.css.map │ │ ├── bootstrap.rtl.min.css │ │ └── bootstrap.rtl.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.esm.js │ │ ├── bootstrap.esm.js.map │ │ ├── bootstrap.esm.min.js │ │ ├── bootstrap.esm.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map ├── Codebreaker.CosmosCreate │ ├── ApIDbInitializer.cs │ ├── Codebreaker.CosmosCreate.csproj │ └── Program.cs ├── Codebreaker.GameAPIs.Playwright │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.Playwright.csproj │ ├── GamesApiTests.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GameExtensionsTests.cs │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GamesServiceWithCachingTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ ├── appsettings.json │ └── xunit.runner.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ ├── DistributedMemoryGamesRepository.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── CreateDatabaseEndpoint.cs │ │ └── GameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ └── ApiModelExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ ├── GameAPIModels.cs │ │ └── GameExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ ├── GamesServiceWithCaching.cs │ │ ├── IGamesService.cs │ │ ├── ILiveReportClient.cs │ │ └── LiveReportClient.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Live │ ├── ApplicationServices.cs │ ├── Codebreaker.Live.csproj │ ├── Codebreaker.Live.http │ ├── Endpoints │ │ ├── LiveGamesEndpoints.cs │ │ └── LiveHub.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ ├── CodebreakerSettings.cs │ ├── EnvVarNames.cs │ ├── Extensions.cs │ └── ServiceNames.cs ├── Codebreaker.SqlServerMigration │ ├── ApIDbInitializer.cs │ ├── Codebreaker.SqlServerMigration.csproj │ └── Program.cs ├── Common.props ├── LiveTestClient │ ├── GlobalUsings.cs │ ├── LiveClient.cs │ ├── LiveTestClient.csproj │ ├── Program.cs │ └── appsettings.json ├── Readme.md ├── containerdiagram.md ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json ├── prometheus │ └── prometheus.yml └── sequencediagrams.md ├── ch14 ├── .gitignore ├── Chapter14.slnx ├── CodeBreaker.Blazor.Host │ ├── ApplicationServices.cs │ ├── CodeBreaker.Blazor.Host.csproj │ ├── Components │ │ ├── App.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.json │ └── wwwroot │ │ ├── CodeBreaker.Blazor.lib.module.js │ │ ├── css │ │ └── app.css │ │ ├── favicon.ico │ │ ├── icon-192.png │ │ ├── icon-512.png │ │ ├── manifest.json │ │ ├── service-worker.js │ │ └── service-worker.published.js ├── CodeBreaker.Blazor.UI │ ├── CodeBreaker.Blazor.UI.csproj │ ├── Components │ │ ├── Button │ │ │ ├── CodeBreakerButton.razor │ │ │ ├── CodeBreakerButton.razor.cs │ │ │ ├── CodeBreakerButton.razor.css │ │ │ ├── CodeBreakerIconButton.razor │ │ │ ├── CodeBreakerIconButton.razor.cs │ │ │ └── CodeBreakerIconButton.razor.css │ │ ├── Card │ │ │ ├── CodeBreakerCard.razor │ │ │ ├── CodeBreakerCard.razor.cs │ │ │ └── CodeBreakerCard.razor.css │ │ ├── DataGrid │ │ │ ├── CodeBreakerDataGrid.razor │ │ │ ├── CodeBreakerDataGrid.razor.cs │ │ │ └── CodeBreakerDataGrid.razor.css │ │ ├── DatePicker │ │ │ ├── CodeBreakerDatePicker.razor │ │ │ ├── CodeBreakerDatePicker.razor.cs │ │ │ └── CodeBreakerDatePicker.razor.css │ │ ├── Dialog │ │ │ ├── CodeBreakerDialog.razor │ │ │ ├── CodeBreakerDialog.razor.cs │ │ │ └── CodeBreakerDialog.razor.css │ │ ├── Input │ │ │ ├── CodeBreakerInputBase.cs │ │ │ ├── CodeBreakerTextField.razor │ │ │ ├── CodeBreakerTextField.razor.cs │ │ │ └── CodeBreakerTextField.razor.css │ │ ├── Layout │ │ │ ├── CodeBreakerLayout.razor │ │ │ ├── CodeBreakerLayout.razor.cs │ │ │ └── CodeBreakerLayout.razor.css │ │ ├── Menu │ │ │ ├── CodeBreakerNavMenu.razor │ │ │ ├── CodeBreakerNavMenu.razor.cs │ │ │ └── CodeBreakerNavMenu.razor.css │ │ ├── Progress │ │ │ ├── CodeBreakerProgressCircular.razor │ │ │ ├── CodeBreakerProgressCircular.razor.cs │ │ │ └── CodeBreakerProgressCircular.razor.css │ │ ├── Radio │ │ │ ├── CodeBreakerRadioGroup.razor │ │ │ ├── CodeBreakerRadioGroup.razor.cs │ │ │ └── CodeBreakerRadioGroup.razor.css │ │ ├── Select │ │ │ ├── CodeBreakerSelect.razor │ │ │ ├── CodeBreakerSelect.razor.cs │ │ │ └── CodeBreakerSelect.razor.css │ │ ├── Switch │ │ │ ├── CodeBreakerSwitch.razor │ │ │ ├── CodeBreakerSwitch.razor.cs │ │ │ └── CodeBreakerSwitch.razor.css │ │ ├── Tabs │ │ │ ├── CodeBreakerTab.razor │ │ │ ├── CodeBreakerTab.razor.cs │ │ │ ├── CodeBreakerTab.razor.css │ │ │ ├── CodeBreakerTabs.razor │ │ │ ├── CodeBreakerTabs.razor.cs │ │ │ └── CodeBreakerTabs.razor.css │ │ └── ThemeSwitch │ │ │ ├── CodeBreakerThemeSwitch.razor │ │ │ ├── CodeBreakerThemeSwitch.razor.cs │ │ │ ├── CodeBreakerThemeSwitch.razor.css │ │ │ └── CodeBreakerThemeSwitch.razor.js │ ├── Models │ │ ├── DataGrid │ │ │ └── CodeBreakerColumnDefinition.cs │ │ ├── Icon │ │ │ └── CodeBreakerIcon.cs │ │ └── Menu │ │ │ └── NavLinkItem.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── Dialog │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ └── Theme │ │ │ └── ThemeService.cs │ ├── _Imports.razor │ └── wwwroot │ │ └── css │ │ └── CodeBreaker.Blazor.UI.css ├── CodeBreaker.Blazor │ ├── CodeBreaker.Blazor.csproj │ ├── Components │ │ ├── GameResultDialog.razor │ │ ├── GameResultDialog.razor.cs │ │ ├── GameResultDialog.razor.css │ │ ├── LanguageSelector.razor │ │ ├── LanguageSelector.razor.cs │ │ ├── Playground.razor │ │ ├── Playground.razor.cs │ │ ├── Playground.razor.css │ │ ├── Playground.razor.js │ │ ├── StopWatch.razor │ │ └── StopWatch.razor.cs │ ├── Extensions │ │ └── LocalizationExtensions.cs │ ├── Models │ │ └── GameMode.cs │ ├── Pages │ │ ├── AboutPage.razor │ │ ├── AboutPage.razor.cs │ │ ├── AboutPage.razor.css │ │ ├── Authentication.razor │ │ ├── Authentication.razor.cs │ │ ├── GamePage.razor │ │ ├── GamePage.razor.cs │ │ ├── GamePage.razor.css │ │ ├── IndexPage.razor │ │ ├── IndexPage.razor.cs │ │ ├── IndexPage.razor.css │ │ ├── ReportsPage.razor │ │ ├── ReportsPage.razor.cs │ │ ├── ReportsPage.razor.css │ │ ├── UserInformationPage.razor │ │ ├── UserInformationPage.razor.cs │ │ └── UserInformationPage.razor.css │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Resource.Designer.cs │ │ ├── Resource.de.resx │ │ └── Resource.resx │ ├── Routes.razor │ ├── Shared │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── LoginDisplay.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.cs │ │ ├── MainLayout.razor.css │ │ ├── RedirectToLogin.razor │ │ └── RedirectToLogin.razor.cs │ ├── ViewModels │ │ └── ReportFilterContext.cs │ ├── _Imports.razor │ └── wwwroot │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── GrpcGamesClient.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Prometheus.json │ ├── appsettings.json │ └── aspire-manifest.json ├── Codebreaker.AppHostPrometheus │ ├── Codebreaker.AppHostPrometheus.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.CosmosCreate │ ├── ApIDbInitializer.cs │ ├── Codebreaker.CosmosCreate.csproj │ └── Program.cs ├── Codebreaker.GameAPIs.Playwright │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.Playwright.csproj │ ├── GamesApiTests.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GameExtensionsTests.cs │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ └── appsettings.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DistributedMemoryGamesRepository.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── GameEndpoints.cs │ │ └── GrpcGameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ ├── GameSummaryExtensions.cs │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ ├── GameAPIModels.cs │ │ └── GameExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── GameService.proto │ ├── Services │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ ├── GrpcLiveReportClient.cs │ │ ├── IGamesService.cs │ │ ├── ILiveReportClient.cs │ │ └── LiveReportClient.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Live │ ├── ApplicationServices.cs │ ├── Codebreaker.Live.csproj │ ├── Codebreaker.Live.http │ ├── Endpoints │ │ ├── GRPCLiveGameService.cs │ │ ├── LiveGamesEndpoints.cs │ │ └── LiveHub.cs │ ├── Extensions │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── LiveGame.proto │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ └── Extensions.cs ├── Codebreaker.SqlServerMigration │ ├── ApIDbInitializer.cs │ ├── Codebreaker.SqlServerMigration.csproj │ └── Program.cs ├── LiveTestClient │ ├── GlobalUsings.cs │ ├── LiveClient.cs │ ├── LiveTestClient.csproj │ ├── Program.cs │ └── appsettings.json ├── Readme.md ├── containerdiagram-grpc.md ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json ├── prometheus │ └── prometheus.yml └── sequence.md ├── ch15 ├── Chapter15.slnx ├── CodeBreaker.Blazor.Host │ ├── ApplicationServices.cs │ ├── CodeBreaker.Blazor.Host.csproj │ ├── Components │ │ ├── App.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.json │ └── wwwroot │ │ ├── CodeBreaker.Blazor.lib.module.js │ │ ├── css │ │ └── app.css │ │ ├── favicon.ico │ │ ├── icon-192.png │ │ ├── icon-512.png │ │ ├── manifest.json │ │ ├── service-worker.js │ │ └── service-worker.published.js ├── CodeBreaker.Blazor.UI │ ├── CodeBreaker.Blazor.UI.csproj │ ├── Components │ │ ├── Button │ │ │ ├── CodeBreakerButton.razor │ │ │ ├── CodeBreakerButton.razor.cs │ │ │ ├── CodeBreakerButton.razor.css │ │ │ ├── CodeBreakerIconButton.razor │ │ │ ├── CodeBreakerIconButton.razor.cs │ │ │ └── CodeBreakerIconButton.razor.css │ │ ├── Card │ │ │ ├── CodeBreakerCard.razor │ │ │ ├── CodeBreakerCard.razor.cs │ │ │ └── CodeBreakerCard.razor.css │ │ ├── DataGrid │ │ │ ├── CodeBreakerDataGrid.razor │ │ │ ├── CodeBreakerDataGrid.razor.cs │ │ │ └── CodeBreakerDataGrid.razor.css │ │ ├── DatePicker │ │ │ ├── CodeBreakerDatePicker.razor │ │ │ ├── CodeBreakerDatePicker.razor.cs │ │ │ └── CodeBreakerDatePicker.razor.css │ │ ├── Dialog │ │ │ ├── CodeBreakerDialog.razor │ │ │ ├── CodeBreakerDialog.razor.cs │ │ │ └── CodeBreakerDialog.razor.css │ │ ├── Input │ │ │ ├── CodeBreakerInputBase.cs │ │ │ ├── CodeBreakerTextField.razor │ │ │ ├── CodeBreakerTextField.razor.cs │ │ │ └── CodeBreakerTextField.razor.css │ │ ├── Layout │ │ │ ├── CodeBreakerLayout.razor │ │ │ ├── CodeBreakerLayout.razor.cs │ │ │ └── CodeBreakerLayout.razor.css │ │ ├── Menu │ │ │ ├── CodeBreakerNavMenu.razor │ │ │ ├── CodeBreakerNavMenu.razor.cs │ │ │ └── CodeBreakerNavMenu.razor.css │ │ ├── Progress │ │ │ ├── CodeBreakerProgressCircular.razor │ │ │ ├── CodeBreakerProgressCircular.razor.cs │ │ │ └── CodeBreakerProgressCircular.razor.css │ │ ├── Radio │ │ │ ├── CodeBreakerRadioGroup.razor │ │ │ ├── CodeBreakerRadioGroup.razor.cs │ │ │ └── CodeBreakerRadioGroup.razor.css │ │ ├── Select │ │ │ ├── CodeBreakerSelect.razor │ │ │ ├── CodeBreakerSelect.razor.cs │ │ │ └── CodeBreakerSelect.razor.css │ │ ├── Switch │ │ │ ├── CodeBreakerSwitch.razor │ │ │ ├── CodeBreakerSwitch.razor.cs │ │ │ └── CodeBreakerSwitch.razor.css │ │ ├── Tabs │ │ │ ├── CodeBreakerTab.razor │ │ │ ├── CodeBreakerTab.razor.cs │ │ │ ├── CodeBreakerTab.razor.css │ │ │ ├── CodeBreakerTabs.razor │ │ │ ├── CodeBreakerTabs.razor.cs │ │ │ └── CodeBreakerTabs.razor.css │ │ └── ThemeSwitch │ │ │ ├── CodeBreakerThemeSwitch.razor │ │ │ ├── CodeBreakerThemeSwitch.razor.cs │ │ │ ├── CodeBreakerThemeSwitch.razor.css │ │ │ └── CodeBreakerThemeSwitch.razor.js │ ├── Models │ │ ├── DataGrid │ │ │ └── CodeBreakerColumnDefinition.cs │ │ ├── Icon │ │ │ └── CodeBreakerIcon.cs │ │ └── Menu │ │ │ └── NavLinkItem.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── Dialog │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ └── Theme │ │ │ └── ThemeService.cs │ ├── _Imports.razor │ └── wwwroot │ │ └── css │ │ └── CodeBreaker.Blazor.UI.css ├── CodeBreaker.Blazor │ ├── CodeBreaker.Blazor.csproj │ ├── Components │ │ ├── GameResultDialog.razor │ │ ├── GameResultDialog.razor.cs │ │ ├── GameResultDialog.razor.css │ │ ├── LanguageSelector.razor │ │ ├── LanguageSelector.razor.cs │ │ ├── Playground.razor │ │ ├── Playground.razor.cs │ │ ├── Playground.razor.css │ │ ├── Playground.razor.js │ │ ├── StopWatch.razor │ │ └── StopWatch.razor.cs │ ├── Extensions │ │ └── LocalizationExtensions.cs │ ├── Models │ │ └── GameMode.cs │ ├── Pages │ │ ├── AboutPage.razor │ │ ├── AboutPage.razor.cs │ │ ├── AboutPage.razor.css │ │ ├── Authentication.razor │ │ ├── Authentication.razor.cs │ │ ├── GamePage.razor │ │ ├── GamePage.razor.cs │ │ ├── GamePage.razor.css │ │ ├── IndexPage.razor │ │ ├── IndexPage.razor.cs │ │ ├── IndexPage.razor.css │ │ ├── ReportsPage.razor │ │ ├── ReportsPage.razor.cs │ │ ├── ReportsPage.razor.css │ │ ├── UserInformationPage.razor │ │ ├── UserInformationPage.razor.cs │ │ └── UserInformationPage.razor.css │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Resource.Designer.cs │ │ ├── Resource.de.resx │ │ └── Resource.resx │ ├── Routes.razor │ ├── Shared │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── LoginDisplay.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.cs │ │ ├── MainLayout.razor.css │ │ ├── RedirectToLogin.razor │ │ └── RedirectToLogin.razor.cs │ ├── ViewModels │ │ └── ReportFilterContext.cs │ ├── _Imports.razor │ └── wwwroot │ │ ├── appsettings.Development.json │ │ ├── appsettings.Production.json │ │ └── appsettings.json ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── GrpcGamesClient.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Extensions │ │ ├── DistributedApplicationBuilder.Cache.cs │ │ ├── DistributedApplicationBuilder.Database.cs │ │ ├── DistributedApplicationBuilder.EventHub.cs │ │ └── DistributedApplicationBuilder.Storage.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ └── aspire-manifest.json ├── Codebreaker.BotQ │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Codebreaker.BotQ.csproj │ ├── Endpoints │ │ └── BotQueueClient.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── GrpcGamesClient.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ └── manifests │ │ ├── containerApp.tmpl.yaml │ │ └── containerApp.tmpl.yaml1 ├── Codebreaker.GameAPIs.Playwright │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.Playwright.csproj │ ├── GamesApiTests.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GameExtensionsTests.cs │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ └── appsettings.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DataContextProxy.cs │ │ ├── DistributedMemoryGamesRepository.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── GameEndpoints.cs │ │ └── GrpcGameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ ├── GameSummaryExtensions.cs │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ ├── GameAPIModels.cs │ │ └── GameExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── GameService.proto │ ├── Services │ │ ├── EventHubReportProducer.cs │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ ├── GrpcLiveReportClient.cs │ │ ├── IGameReport.cs │ │ ├── IGamesService.cs │ │ ├── KafkaGameReportProducer.cs │ │ └── LiveReportClient.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── manifests │ │ └── containerApp.tmpl.yaml ├── Codebreaker.Live.Blazor │ ├── Codebreaker.Live.Blazor.Client │ │ ├── Codebreaker.Live.Blazor.Client.csproj │ │ ├── Layout │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── NavMenu.razor │ │ │ └── NavMenu.razor.css │ │ ├── Pages │ │ │ ├── Home.razor │ │ │ └── Monitor.razor │ │ ├── Program.cs │ │ ├── Routes.razor │ │ ├── _Imports.razor │ │ └── wwwroot │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ └── Codebreaker.Live.Blazor │ │ ├── Codebreaker.Live.Blazor.csproj │ │ ├── Components │ │ ├── App.razor │ │ ├── Pages │ │ │ └── Error.razor │ │ └── _Imports.razor │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ ├── app.css │ │ ├── favicon.png │ │ └── lib │ │ └── bootstrap │ │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-grid.rtl.css │ │ ├── bootstrap-grid.rtl.css.map │ │ ├── bootstrap-grid.rtl.min.css │ │ ├── bootstrap-grid.rtl.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap-reboot.rtl.css │ │ ├── bootstrap-reboot.rtl.css.map │ │ ├── bootstrap-reboot.rtl.min.css │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ ├── bootstrap-utilities.css │ │ ├── bootstrap-utilities.css.map │ │ ├── bootstrap-utilities.min.css │ │ ├── bootstrap-utilities.min.css.map │ │ ├── bootstrap-utilities.rtl.css │ │ ├── bootstrap-utilities.rtl.css.map │ │ ├── bootstrap-utilities.rtl.min.css │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── bootstrap.rtl.css │ │ ├── bootstrap.rtl.css.map │ │ ├── bootstrap.rtl.min.css │ │ └── bootstrap.rtl.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.esm.js │ │ ├── bootstrap.esm.js.map │ │ ├── bootstrap.esm.min.js │ │ ├── bootstrap.esm.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map ├── Codebreaker.Live │ ├── ApplicationServices.cs │ ├── Codebreaker.Live.csproj │ ├── Codebreaker.Live.http │ ├── Endpoints │ │ ├── GRPCLiveGameService.cs │ │ ├── LiveHub.cs │ │ └── StreamingLiveHub.cs │ ├── Extensions │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── LiveGame.proto │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.Ranking │ ├── ApplicationServices.cs │ ├── Codebreaker.Ranking.csproj │ ├── Data │ │ ├── DataContextProxy.cs │ │ ├── IRankingsRepository.cs │ │ └── RankingsContext.cs │ ├── Endpoints │ │ └── RankingEndpoints.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GameSummaryEventProcessor.cs │ │ ├── GameSummaryKafkaConsumer.cs │ │ └── IGameSummaryProcessor.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ └── Extensions.cs ├── Codebreaker.SqlServerMigration │ ├── ApIDbInitializer.cs │ ├── Codebreaker.SqlServerMigration.csproj │ └── Program.cs ├── LiveTestClient │ ├── GlobalUsings.cs │ ├── LiveClient.cs │ ├── LiveTestClient.csproj │ ├── Program.cs │ ├── StreamingLiveClient.cs │ └── appsettings.json ├── Readme.md ├── containerdiagram-grpc.md ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json ├── prometheus │ └── prometheus.yml ├── sequence-async.md └── sequence-sync.md ├── ch16 ├── .gitignore ├── AzureRegions.drawio ├── Chapter16.slnx ├── CodeBreaker.Bot.Tests │ ├── CodeBreaker.Bot.Tests.csproj │ └── CodeBreakerAlgorithmsTests.cs ├── CodeBreaker.Bot │ ├── .config │ │ └── dotnet-tools.json │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreaker.Bot.csproj │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Endpoints │ │ └── BotEndpoints.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── GrpcGamesClient.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ └── appsettings.json ├── Codebreaker.AppHost │ ├── AppHost.cs │ ├── Codebreaker.AppHost.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ └── onpremises-manifest.json ├── Codebreaker.BotQ │ ├── Api │ │ └── StatusResponse.cs │ ├── ApplicationServices.cs │ ├── CodeBreakerAlgorithms.cs │ ├── CodeBreakerGameRunner.cs │ ├── CodeBreakerTimer.cs │ ├── Codebreaker.BotQ.csproj │ ├── Endpoints │ │ └── BotQueueClient.cs │ ├── Exceptions │ │ ├── BotNotFoundException.cs │ │ └── UnknownStatusException.cs │ ├── GlobalUsings.cs │ ├── GrpcGamesClient.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ └── manifests │ │ ├── containerApp.tmpl.yaml │ │ └── containerApp.tmpl.yaml1 ├── Codebreaker.CosmosCreate │ ├── ApIDbInitializer.cs │ ├── Codebreaker.CosmosCreate.csproj │ └── Program.cs ├── Codebreaker.GameAPIs.Playwright │ ├── .config │ │ └── dotnet-tools.json │ ├── Codebreaker.GameAPIs.Playwright.csproj │ ├── GamesApiTests.cs │ ├── Usings.cs │ └── appsettings.json ├── Codebreaker.GameAPIs.Tests │ ├── Codebreaker.GameAPIs.Tests.csproj │ ├── GameExtensionsTests.cs │ ├── GamesFactoryTests.cs │ ├── GamesMetricsTests.cs │ ├── GamesServiceTests.cs │ ├── GlobalUsings.cs │ ├── TestMeterFactory.cs │ └── appsettings.json ├── Codebreaker.GameAPIs │ ├── .config │ │ └── dotnet-tools.json │ ├── ApplicationServices.cs │ ├── Codebreaker.GameAPIs.csproj │ ├── Codebreaker.GameAPIs.http │ ├── Data │ │ ├── DistributedMemoryGamesRepository.cs │ │ ├── GamesMemoryRepository.Log.cs │ │ └── GamesMemoryRepository.cs │ ├── Endpoints │ │ ├── GameEndpoints.cs │ │ └── GrpcGameEndpoints.cs │ ├── Errors │ │ └── GameError.cs │ ├── Extensions │ │ ├── ApiModelExtensions.cs │ │ ├── GameSummaryExtensions.cs │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ ├── GamesMetrics.cs │ │ └── Log.cs │ ├── Models │ │ ├── GameAPIModels.cs │ │ └── GameExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── GameService.proto │ ├── Services │ │ ├── EventHubReportProducer.cs │ │ ├── GamesFactory.cs │ │ ├── GamesService.cs │ │ ├── GrpcLiveReportClient.cs │ │ ├── IGameReport.cs │ │ ├── IGamesService.cs │ │ ├── KafkaGameReportProducer.cs │ │ └── LiveReportClient.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── manifests │ │ └── containerApp.tmpl.yaml ├── Codebreaker.Live │ ├── ApplicationServices.cs │ ├── Codebreaker.Live.csproj │ ├── Codebreaker.Live.http │ ├── Endpoints │ │ ├── GRPCLiveGameService.cs │ │ ├── LiveGamesEndpoints.cs │ │ ├── LiveHub.cs │ │ └── StreamingLiveHub.cs │ ├── Extensions │ │ └── GrpcExtensions.cs │ ├── GlobalUsings.cs │ ├── Infrastructure │ │ └── Log.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Protos │ │ └── LiveGame.proto │ ├── appsettings.Development.json │ ├── appsettings.json │ └── manifests │ │ └── containerApp.tmpl.yaml ├── Codebreaker.Ranking │ ├── ApplicationServices.cs │ ├── Codebreaker.Ranking.csproj │ ├── Codebreaker.Ranking.http │ ├── Data │ │ ├── IRankingsRepository.cs │ │ └── RankingsContext.cs │ ├── Endpoints │ │ └── RankingEndpoints.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── GameSummaryEventProcessor.cs │ │ ├── GameSummaryKafkaConsumer.cs │ │ └── IGameSummaryProcessor.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── manifests │ │ └── containerApp.tmpl.yaml ├── Codebreaker.ServiceDefaults │ ├── Codebreaker.ServiceDefaults.csproj │ └── Extensions.cs ├── Codebreaker.SqlServerMigration │ ├── ApIDbInitializer.cs │ ├── Codebreaker.SqlServerMigration.csproj │ └── Program.cs ├── LiveTestClient │ ├── GlobalUsings.cs │ ├── LiveClient.cs │ ├── LiveTestClient.csproj │ ├── Program.cs │ ├── StreamingLiveClient.cs │ └── appsettings.json ├── Readme.md ├── grafana │ ├── config │ │ ├── grafana.ini │ │ └── provisioning │ │ │ ├── dashboards │ │ │ └── default.yaml │ │ │ └── datasources │ │ │ └── default.yaml │ └── dashboards │ │ ├── aspnetcore-endpoint.json │ │ └── aspnetcore.json └── prometheus │ └── prometheus.yml └── installation.md /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/.gitignore -------------------------------------------------------------------------------- /Deploy2Azure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/Deploy2Azure.md -------------------------------------------------------------------------------- /Deploy2Kubernetes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/Deploy2Kubernetes.md -------------------------------------------------------------------------------- /Directory.Packages.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/Directory.Packages.props -------------------------------------------------------------------------------- /GameModels.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/GameModels.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/README.md -------------------------------------------------------------------------------- /RunDevEnvironment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/RunDevEnvironment.md -------------------------------------------------------------------------------- /TestWithPlaywright.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/TestWithPlaywright.md -------------------------------------------------------------------------------- /Updates.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/Updates.md -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.ApiService/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.ApiService/Program.cs -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.Web/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.Web/Program.cs -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.Web/WeatherApiClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.Web/WeatherApiClient.cs -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.Web/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.Web/appsettings.json -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.Web/wwwroot/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.Web/wwwroot/app.css -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.Web/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.Web/wwwroot/favicon.png -------------------------------------------------------------------------------- /ch01/Aspire/AspireSample.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Aspire/AspireSample.slnx -------------------------------------------------------------------------------- /ch01/AzureDiagram.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/AzureDiagram.drawio -------------------------------------------------------------------------------- /ch01/Directory.Packages.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Directory.Packages.props -------------------------------------------------------------------------------- /ch01/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch01/Readme.md -------------------------------------------------------------------------------- /ch02/Chapter02.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Chapter02.slnx -------------------------------------------------------------------------------- /ch02/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs.Models/Game.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs.Models/Game.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs.Models/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Codebreaker.GameAPIs.Models; 2 | -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs.Models/Move.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs.Models/Move.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs.Models/docs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs.Models/docs/readme.md -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch02/Codebreaker.GameAPIs/http-client.env.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.GameAPIs/http-client.env.json -------------------------------------------------------------------------------- /ch02/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch02/CreateAGame.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/CreateAGame.md -------------------------------------------------------------------------------- /ch02/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/Readme.md -------------------------------------------------------------------------------- /ch02/SetMove.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch02/SetMove.md -------------------------------------------------------------------------------- /ch03/Chapter03.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Chapter03.slnx -------------------------------------------------------------------------------- /ch03/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch03/Codebreaker.Data.Cosmos/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.Data.Cosmos/GlobalUsings.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.Data.Postgres/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.Data.Postgres/GlobalUsings.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.Data.SqlServer.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /ch03/Codebreaker.Data.SqlServer/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.Data.SqlServer/GlobalUsings.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs.Models/Game.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs.Models/Game.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs.Models/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Codebreaker.GameAPIs.Models; 2 | -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs.Models/Move.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs.Models/Move.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs.Models/docs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs.Models/docs/readme.md -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch03/Codebreaker.GameAPIs/http-client.env.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.GameAPIs/http-client.env.json -------------------------------------------------------------------------------- /ch03/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch03/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch03/CreateAGameWithSQLServer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/CreateAGameWithSQLServer.md -------------------------------------------------------------------------------- /ch03/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/Readme.md -------------------------------------------------------------------------------- /ch03/components.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch03/components.drawio -------------------------------------------------------------------------------- /ch04/Chapter04.Client.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/Chapter04.Client.slnx -------------------------------------------------------------------------------- /ch04/Chapter04.Server.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/Chapter04.Server.slnx -------------------------------------------------------------------------------- /ch04/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/Readme.md -------------------------------------------------------------------------------- /ch04/client/Codebreaker.Console/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.Console/GlobalUsings.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.Console/Inputs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.Console/Inputs.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.Console/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.Console/Program.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.Console/Runner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.Console/Runner.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.Console/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.Console/appsettings.json -------------------------------------------------------------------------------- /ch04/client/Codebreaker.KiotaConsole/Inputs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.KiotaConsole/Inputs.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.KiotaConsole/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.KiotaConsole/Program.cs -------------------------------------------------------------------------------- /ch04/client/Codebreaker.KiotaConsole/Runner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/client/Codebreaker.KiotaConsole/Runner.cs -------------------------------------------------------------------------------- /ch04/gamesapi-swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/gamesapi-swagger.json -------------------------------------------------------------------------------- /ch04/server/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/server/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch04/server/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/server/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch04/server/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/server/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch04/server/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch04/server/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch05/FinalAspire/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/.env -------------------------------------------------------------------------------- /ch05/FinalAspire/Chapter5-Aspire.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/Chapter5-Aspire.slnx -------------------------------------------------------------------------------- /ch05/FinalAspire/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch05/FinalAspire/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch05/FinalAspire/Codebreaker.AppHost/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/Codebreaker.AppHost/.env -------------------------------------------------------------------------------- /ch05/FinalAspire/Codebreaker.AppHost/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/Codebreaker.AppHost/Program.cs -------------------------------------------------------------------------------- /ch05/FinalAspire/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch05/FinalAspire/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalAspire/docker-compose.yaml -------------------------------------------------------------------------------- /ch05/FinalDocker/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/.dockerignore -------------------------------------------------------------------------------- /ch05/FinalDocker/Chapter5-Docker.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/Chapter5-Docker.slnx -------------------------------------------------------------------------------- /ch05/FinalDocker/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch05/FinalDocker/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch05/FinalDocker/Codebreaker.GameAPIs/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/Codebreaker.GameAPIs/Dockerfile -------------------------------------------------------------------------------- /ch05/FinalDocker/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch05/FinalDocker/gameapis.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/FinalDocker/gameapis.env -------------------------------------------------------------------------------- /ch05/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/Readme.md -------------------------------------------------------------------------------- /ch05/StartAspire/Chapter5-Aspire.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartAspire/Chapter5-Aspire.slnx -------------------------------------------------------------------------------- /ch05/StartAspire/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartAspire/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch05/StartAspire/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartAspire/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch05/StartAspire/Codebreaker.AppHost/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartAspire/Codebreaker.AppHost/Program.cs -------------------------------------------------------------------------------- /ch05/StartAspire/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartAspire/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch05/StartDocker/Chapter5-Docker.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartDocker/Chapter5-Docker.slnx -------------------------------------------------------------------------------- /ch05/StartDocker/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartDocker/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch05/StartDocker/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartDocker/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch05/StartDocker/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/StartDocker/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch05/containerdiagram.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/containerdiagram.md -------------------------------------------------------------------------------- /ch05/gameapis.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch05/gameapis.env -------------------------------------------------------------------------------- /ch06/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch06/Chapter6.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Chapter6.slnx -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/Codebreaker.Bot.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/Codebreaker.Bot.http -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/Utilities/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/Utilities/Log.cs -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch06/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch06/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch06/Codebreaker.AppHost/aspire-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.AppHost/aspire-manifest.json -------------------------------------------------------------------------------- /ch06/Codebreaker.CosmosCreate/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.CosmosCreate/Program.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch06/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch06/Codebreaker.SqlServerMigration/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Codebreaker.SqlServerMigration/Program.cs -------------------------------------------------------------------------------- /ch06/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/Readme.md -------------------------------------------------------------------------------- /ch06/azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch06/azure.yaml -------------------------------------------------------------------------------- /ch07/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch07/AppConfigurationKeyVault.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/AppConfigurationKeyVault.drawio -------------------------------------------------------------------------------- /ch07/Chapter07.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Chapter07.slnx -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch07/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch07/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch07/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch07/Codebreaker.InitalizeAppConfig/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.InitalizeAppConfig/Program.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch07/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch07/ConfigurationPrototype/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Microsoft.Extensions.Options; 2 | -------------------------------------------------------------------------------- /ch07/ConfigurationPrototype/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/ConfigurationPrototype/Program.cs -------------------------------------------------------------------------------- /ch07/ConfigurationPrototype/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/ConfigurationPrototype/appsettings.json -------------------------------------------------------------------------------- /ch07/ManagedIdentities.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/ManagedIdentities.drawio -------------------------------------------------------------------------------- /ch07/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch07/Readme.md -------------------------------------------------------------------------------- /ch08/Chapter08.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Chapter08.slnx -------------------------------------------------------------------------------- /ch08/ClientLib.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/ClientLib.slnx -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/Utilities/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/Utilities/Log.cs -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch08/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch08/Codebreaker.AppHost/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch08/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch08/Codebreaker.AppHost/azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.AppHost/azure.yaml -------------------------------------------------------------------------------- /ch08/Codebreaker.AppHost/next-steps.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.AppHost/next-steps.md -------------------------------------------------------------------------------- /ch08/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch08/Codebreaker.InitalizeAppConfig/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.InitalizeAppConfig/Program.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch08/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch08/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/Readme.md -------------------------------------------------------------------------------- /ch08/workflows/codebreaker-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/codebreaker-deploy.yml -------------------------------------------------------------------------------- /ch08/workflows/codebreaker-production.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/codebreaker-production.yml -------------------------------------------------------------------------------- /ch08/workflows/codebreaker-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/codebreaker-test.yml -------------------------------------------------------------------------------- /ch08/workflows/codebreaker-testanddeploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/codebreaker-testanddeploy.yml -------------------------------------------------------------------------------- /ch08/workflows/kiota-lib.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/kiota-lib.yml -------------------------------------------------------------------------------- /ch08/workflows/shared-create-nuget.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/shared-create-nuget.yml -------------------------------------------------------------------------------- /ch08/workflows/shared-deploy-withenvironment.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/shared-deploy-withenvironment.yml -------------------------------------------------------------------------------- /ch08/workflows/shared-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/shared-deploy.yml -------------------------------------------------------------------------------- /ch08/workflows/shared-githubpackages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/shared-githubpackages.yml -------------------------------------------------------------------------------- /ch08/workflows/shared-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch08/workflows/shared-test.yml -------------------------------------------------------------------------------- /ch09/BlazorServerTest/BlazorServerTest.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/BlazorServerTest/BlazorServerTest.csproj -------------------------------------------------------------------------------- /ch09/BlazorWASMAuth/BlazorWASMAuth.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/BlazorWASMAuth/BlazorWASMAuth.sln -------------------------------------------------------------------------------- /ch09/BlazorWASMAuth/BlazorWASMAuth/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/BlazorWASMAuth/BlazorWASMAuth/Program.cs -------------------------------------------------------------------------------- /ch09/Chapter9.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Chapter9.slnx -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/Components/StopWatch.razor: -------------------------------------------------------------------------------- 1 |

@_currentTime

2 | 3 | 4 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/Models/Field.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor.Client/Models/Field.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor.Client/Program.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/Routes.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor.Client/Routes.razor -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/Shared/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor.Client/_Imports.razor -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/wwwroot/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.Client/wwwroot/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.UI/Components/Progress/CodeBreakerProgressCircular.razor: -------------------------------------------------------------------------------- 1 | @namespace CodeBreaker.Blazor.UI.Components 2 | 3 |
4 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.UI/Components/ThemeSwitch/CodeBreakerThemeSwitch.razor.css: -------------------------------------------------------------------------------- 1 | .dark { 2 | color: white; 3 | } 4 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor.UI/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor.UI/_Imports.razor -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/Components/App.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/Components/App.razor -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/Program.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/appsettings.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/wwwroot/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/wwwroot/css/app.css -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/wwwroot/icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/wwwroot/icon-192.png -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/wwwroot/icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/wwwroot/icon-512.png -------------------------------------------------------------------------------- /ch09/CodeBreaker.Blazor/wwwroot/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Blazor/wwwroot/manifest.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/CodeBreaker.Bot.http: -------------------------------------------------------------------------------- 1 | 2 | POST {{Bot_HostAddress}}/bot/bots?count=3&delay=1 3 | Content-Type: application/json 4 | 5 | { 6 | 7 | } 8 | 9 | ### 10 | -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/Utilities/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/Utilities/Log.cs -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch09/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.ApiGateway/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ApiGateway/Program.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.ApiGateway/TokenService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ApiGateway/TokenService.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.ApiGateway/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ApiGateway/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.Authentication/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Authentication/Program.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.Authentication/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Authentication/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.Console/Inputs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Console/Inputs.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.Console/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Console/Program.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.Console/Runner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Console/Runner.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.Console/Usings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Console/Usings.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.Console/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.Console/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs.Client/GamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs.Client/GamesClient.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs.Client/IGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs.Client/IGamesClient.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs.Client/Usings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs.Client/Usings.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs.Client/docs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs.Client/docs/readme.md -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch09/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch09/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Auth/AuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Auth/AuthorizationHandler.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Auth/GatewayClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Auth/GatewayClient.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Error.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Error.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Error.cshtml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Error.cshtml.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Index.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Index.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Index.cshtml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Index.cshtml.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Privacy.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Privacy.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Privacy.cshtml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Privacy.cshtml.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Shared/_Layout.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/Shared/_Layout.cshtml.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/Shared/_Layout.cshtml.css -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/TestCall.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/TestCall.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/TestCall.cshtml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/TestCall.cshtml.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/_ViewImports.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Pages/_ViewStart.cshtml -------------------------------------------------------------------------------- /ch09/WebAppAuth/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Program.cs -------------------------------------------------------------------------------- /ch09/WebAppAuth/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/Properties/launchSettings.json -------------------------------------------------------------------------------- /ch09/WebAppAuth/WebAppAuth.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/WebAppAuth.csproj -------------------------------------------------------------------------------- /ch09/WebAppAuth/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/appsettings.Development.json -------------------------------------------------------------------------------- /ch09/WebAppAuth/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/appsettings.json -------------------------------------------------------------------------------- /ch09/WebAppAuth/wwwroot/css/site.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/wwwroot/css/site.css -------------------------------------------------------------------------------- /ch09/WebAppAuth/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ch09/WebAppAuth/wwwroot/js/site.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/wwwroot/js/site.js -------------------------------------------------------------------------------- /ch09/WebAppAuth/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/wwwroot/lib/bootstrap/LICENSE -------------------------------------------------------------------------------- /ch09/WebAppAuth/wwwroot/lib/jquery/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/WebAppAuth/wwwroot/lib/jquery/LICENSE.txt -------------------------------------------------------------------------------- /ch09/realms/weathershop-realm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/realms/weathershop-realm.json -------------------------------------------------------------------------------- /ch09/yarp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch09/yarp.md -------------------------------------------------------------------------------- /ch10/Final/Chapter10.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Chapter10.slnx -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/Utilities/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/Utilities/Log.cs -------------------------------------------------------------------------------- /ch10/Final/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch10/Final/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Final/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch10/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Readme.md -------------------------------------------------------------------------------- /ch10/Start/Chapter10.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Chapter10.slnx -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/Utilities/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/Utilities/Log.cs -------------------------------------------------------------------------------- /ch10/Start/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch10/Start/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch10/Start/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch10/Start/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch10/Start/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch10/Start/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch10/Start/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch11/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch11/Chapter11.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Chapter11.slnx -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch11/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch11/Codebreaker.AppHost/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch11/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Client/GamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Client/GamesClient.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Client/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Client/GlobalUsings.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Client/IGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Client/IGamesClient.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Client/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Client/Log.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Client/docs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Client/docs/readme.md -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs.Tests/GlobalUsings.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch11/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch11/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch11/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/Readme.md -------------------------------------------------------------------------------- /ch11/azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/azure.yaml -------------------------------------------------------------------------------- /ch11/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/config.yaml -------------------------------------------------------------------------------- /ch11/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch11/grafana/dashboards/aspnetcore-endpoint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/grafana/dashboards/aspnetcore-endpoint.json -------------------------------------------------------------------------------- /ch11/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch11/otelcollector/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/otelcollector/config.yaml -------------------------------------------------------------------------------- /ch11/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch11/prometheus/prometheus.yml -------------------------------------------------------------------------------- /ch12/Chapter12.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Chapter12.slnx -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor.Host/Program.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor.Host/appsettings.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/wwwroot/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor.Host/wwwroot/css/app.css -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.Host/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor.Host/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.UI/Components/Progress/CodeBreakerProgressCircular.razor: -------------------------------------------------------------------------------- 1 | @namespace CodeBreaker.Blazor.UI.Components 2 | 3 |
4 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.UI/Components/ThemeSwitch/CodeBreakerThemeSwitch.razor.css: -------------------------------------------------------------------------------- 1 | .dark { 2 | color: white; 3 | } 4 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor.UI/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor.UI/_Imports.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Components/StopWatch.razor: -------------------------------------------------------------------------------- 1 |

@_currentTime

2 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Models/GameMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Models/GameMode.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/AboutPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/AboutPage.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/AboutPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/AboutPage.razor.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/GamePage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/GamePage.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/GamePage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/GamePage.razor.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/GamePage.razor.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/GamePage.razor.css -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/IndexPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/IndexPage.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/IndexPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/IndexPage.razor.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Pages/ReportsPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Pages/ReportsPage.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Program.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Resources/Resource.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Resources/Resource.resx -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Routes.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Routes.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Shared/MainLayout.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/Shared/MainLayout.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/Shared/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/_Imports.razor -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/wwwroot/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch12/CodeBreaker.Blazor/wwwroot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Blazor/wwwroot/appsettings.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch12/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch12/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs.Playwright/Usings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs.Playwright/Usings.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs.Tests/GlobalUsings.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch12/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch12/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch12/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/Readme.md -------------------------------------------------------------------------------- /ch12/azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/azure.yaml -------------------------------------------------------------------------------- /ch12/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch12/grafana/dashboards/aspnetcore-endpoint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/grafana/dashboards/aspnetcore-endpoint.json -------------------------------------------------------------------------------- /ch12/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch12/next-steps.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/next-steps.md -------------------------------------------------------------------------------- /ch12/otelcollector/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/otelcollector/config.yaml -------------------------------------------------------------------------------- /ch12/playgame-5users.jmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/playgame-5users.jmx -------------------------------------------------------------------------------- /ch12/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch12/prometheus/prometheus.yml -------------------------------------------------------------------------------- /ch13/Chapter13.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Chapter13.slnx -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor.Host/Program.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor.Host/appsettings.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/wwwroot/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor.Host/wwwroot/css/app.css -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.Host/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor.Host/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.UI/Components/Progress/CodeBreakerProgressCircular.razor: -------------------------------------------------------------------------------- 1 | @namespace CodeBreaker.Blazor.UI.Components 2 | 3 |
4 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.UI/Components/ThemeSwitch/CodeBreakerThemeSwitch.razor.css: -------------------------------------------------------------------------------- 1 | .dark { 2 | color: white; 3 | } 4 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor.UI/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor.UI/_Imports.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Components/StopWatch.razor: -------------------------------------------------------------------------------- 1 |

@_currentTime

2 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Models/GameMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Models/GameMode.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/AboutPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/AboutPage.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/AboutPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/AboutPage.razor.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/GamePage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/GamePage.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/GamePage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/GamePage.razor.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/GamePage.razor.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/GamePage.razor.css -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/IndexPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/IndexPage.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/IndexPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/IndexPage.razor.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Pages/ReportsPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Pages/ReportsPage.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Program.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Resources/Resource.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Resources/Resource.resx -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Routes.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Routes.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Shared/MainLayout.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/Shared/MainLayout.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/Shared/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/_Imports.razor -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/wwwroot/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch13/CodeBreaker.Blazor/wwwroot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Blazor/wwwroot/appsettings.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/Api/StatusInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/Api/StatusInfo.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch13/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch13/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch13/Codebreaker.AppHostPrometheus/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.AppHostPrometheus/Program.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Blazor.LiveClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Blazor.LiveClient/Program.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.CosmosCreate/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.CosmosCreate/Program.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs.Playwright/Usings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs.Playwright/Usings.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs.Tests/GlobalUsings.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/ApplicationServices.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/ApplicationServices.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/Codebreaker.Live.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/Codebreaker.Live.csproj -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/Codebreaker.Live.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/Codebreaker.Live.http -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/Endpoints/LiveHub.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/Endpoints/LiveHub.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/GlobalUsings.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/Program.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.Live/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.Live/appsettings.json -------------------------------------------------------------------------------- /ch13/Codebreaker.ServiceDefaults/EnvVarNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.ServiceDefaults/EnvVarNames.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.ServiceDefaults/Extensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.ServiceDefaults/Extensions.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.ServiceDefaults/ServiceNames.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.ServiceDefaults/ServiceNames.cs -------------------------------------------------------------------------------- /ch13/Codebreaker.SqlServerMigration/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Codebreaker.SqlServerMigration/Program.cs -------------------------------------------------------------------------------- /ch13/Common.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Common.props -------------------------------------------------------------------------------- /ch13/LiveTestClient/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/LiveTestClient/GlobalUsings.cs -------------------------------------------------------------------------------- /ch13/LiveTestClient/LiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/LiveTestClient/LiveClient.cs -------------------------------------------------------------------------------- /ch13/LiveTestClient/LiveTestClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/LiveTestClient/LiveTestClient.csproj -------------------------------------------------------------------------------- /ch13/LiveTestClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/LiveTestClient/Program.cs -------------------------------------------------------------------------------- /ch13/LiveTestClient/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/LiveTestClient/appsettings.json -------------------------------------------------------------------------------- /ch13/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/Readme.md -------------------------------------------------------------------------------- /ch13/containerdiagram.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/containerdiagram.md -------------------------------------------------------------------------------- /ch13/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch13/grafana/dashboards/aspnetcore-endpoint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/grafana/dashboards/aspnetcore-endpoint.json -------------------------------------------------------------------------------- /ch13/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch13/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/prometheus/prometheus.yml -------------------------------------------------------------------------------- /ch13/sequencediagrams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch13/sequencediagrams.md -------------------------------------------------------------------------------- /ch14/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch14/Chapter14.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Chapter14.slnx -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor.Host/Program.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor.Host/appsettings.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/wwwroot/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor.Host/wwwroot/css/app.css -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.Host/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor.Host/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.UI/Components/Progress/CodeBreakerProgressCircular.razor: -------------------------------------------------------------------------------- 1 | @namespace CodeBreaker.Blazor.UI.Components 2 | 3 |
4 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.UI/Components/ThemeSwitch/CodeBreakerThemeSwitch.razor.css: -------------------------------------------------------------------------------- 1 | .dark { 2 | color: white; 3 | } 4 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor.UI/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor.UI/_Imports.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Components/StopWatch.razor: -------------------------------------------------------------------------------- 1 |

@_currentTime

2 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Models/GameMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Models/GameMode.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/AboutPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/AboutPage.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/AboutPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/AboutPage.razor.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/GamePage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/GamePage.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/GamePage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/GamePage.razor.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/GamePage.razor.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/GamePage.razor.css -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/IndexPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/IndexPage.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/IndexPage.razor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/IndexPage.razor.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Pages/ReportsPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Pages/ReportsPage.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Program.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Resources/Resource.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Resources/Resource.resx -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Routes.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Routes.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Shared/MainLayout.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/Shared/MainLayout.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/Shared/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/_Imports.razor -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/wwwroot/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch14/CodeBreaker.Blazor/wwwroot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Blazor/wwwroot/appsettings.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/.config/dotnet-tools.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/Endpoints/BotEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/Endpoints/BotEndpoints.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/GrpcGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/GrpcGamesClient.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/appsettings.Production.json -------------------------------------------------------------------------------- /ch14/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch14/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch14/Codebreaker.AppHost/aspire-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.AppHost/aspire-manifest.json -------------------------------------------------------------------------------- /ch14/Codebreaker.AppHostPrometheus/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.AppHostPrometheus/Program.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.CosmosCreate/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.CosmosCreate/Program.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs.Playwright/Usings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.GameAPIs.Playwright/Usings.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/ApplicationServices.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Codebreaker.Live.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Codebreaker.Live.csproj -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Codebreaker.Live.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Codebreaker.Live.http -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Endpoints/LiveHub.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Endpoints/LiveHub.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/GlobalUsings.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Program.cs -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/Protos/LiveGame.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/Protos/LiveGame.proto -------------------------------------------------------------------------------- /ch14/Codebreaker.Live/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Codebreaker.Live/appsettings.json -------------------------------------------------------------------------------- /ch14/LiveTestClient/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/LiveTestClient/GlobalUsings.cs -------------------------------------------------------------------------------- /ch14/LiveTestClient/LiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/LiveTestClient/LiveClient.cs -------------------------------------------------------------------------------- /ch14/LiveTestClient/LiveTestClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/LiveTestClient/LiveTestClient.csproj -------------------------------------------------------------------------------- /ch14/LiveTestClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/LiveTestClient/Program.cs -------------------------------------------------------------------------------- /ch14/LiveTestClient/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/LiveTestClient/appsettings.json -------------------------------------------------------------------------------- /ch14/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/Readme.md -------------------------------------------------------------------------------- /ch14/containerdiagram-grpc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/containerdiagram-grpc.md -------------------------------------------------------------------------------- /ch14/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch14/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch14/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/prometheus/prometheus.yml -------------------------------------------------------------------------------- /ch14/sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch14/sequence.md -------------------------------------------------------------------------------- /ch15/Chapter15.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Chapter15.slnx -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.Host/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor.Host/Program.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.Host/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true 3 | } 4 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.Host/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.Host/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor.Host/appsettings.json -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.UI/Components/Progress/CodeBreakerProgressCircular.razor: -------------------------------------------------------------------------------- 1 | @namespace CodeBreaker.Blazor.UI.Components 2 | 3 |
4 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.UI/Components/ThemeSwitch/CodeBreakerThemeSwitch.razor.css: -------------------------------------------------------------------------------- 1 | .dark { 2 | color: white; 3 | } 4 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor.UI/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor.UI/_Imports.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Components/StopWatch.razor: -------------------------------------------------------------------------------- 1 |

@_currentTime

2 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Models/GameMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Models/GameMode.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Pages/AboutPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Pages/AboutPage.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Pages/GamePage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Pages/GamePage.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Pages/IndexPage.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Pages/IndexPage.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Program.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Routes.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/Routes.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/Shared/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/_Imports.razor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Blazor/_Imports.razor -------------------------------------------------------------------------------- /ch15/CodeBreaker.Blazor/wwwroot/appsettings.Production.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/GrpcGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/GrpcGamesClient.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch15/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch15/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch15/Codebreaker.AppHost/aspire-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.AppHost/aspire-manifest.json -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/ApplicationServices.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/Codebreaker.BotQ.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/Codebreaker.BotQ.csproj -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/GlobalUsings.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/GrpcGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/GrpcGamesClient.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.BotQ/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.BotQ/Program.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch15/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/ApplicationServices.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Codebreaker.Live.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Codebreaker.Live.csproj -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Codebreaker.Live.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Codebreaker.Live.http -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Endpoints/LiveHub.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Endpoints/LiveHub.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/GlobalUsings.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Program.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/Protos/LiveGame.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/Protos/LiveGame.proto -------------------------------------------------------------------------------- /ch15/Codebreaker.Live/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Live/appsettings.json -------------------------------------------------------------------------------- /ch15/Codebreaker.Ranking/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Ranking/Program.cs -------------------------------------------------------------------------------- /ch15/Codebreaker.Ranking/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Codebreaker.Ranking/appsettings.json -------------------------------------------------------------------------------- /ch15/LiveTestClient/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/GlobalUsings.cs -------------------------------------------------------------------------------- /ch15/LiveTestClient/LiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/LiveClient.cs -------------------------------------------------------------------------------- /ch15/LiveTestClient/LiveTestClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/LiveTestClient.csproj -------------------------------------------------------------------------------- /ch15/LiveTestClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/Program.cs -------------------------------------------------------------------------------- /ch15/LiveTestClient/StreamingLiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/StreamingLiveClient.cs -------------------------------------------------------------------------------- /ch15/LiveTestClient/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/LiveTestClient/appsettings.json -------------------------------------------------------------------------------- /ch15/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/Readme.md -------------------------------------------------------------------------------- /ch15/containerdiagram-grpc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/containerdiagram-grpc.md -------------------------------------------------------------------------------- /ch15/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch15/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch15/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/prometheus/prometheus.yml -------------------------------------------------------------------------------- /ch15/sequence-async.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/sequence-async.md -------------------------------------------------------------------------------- /ch15/sequence-sync.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch15/sequence-sync.md -------------------------------------------------------------------------------- /ch16/.gitignore: -------------------------------------------------------------------------------- 1 | .azure 2 | -------------------------------------------------------------------------------- /ch16/AzureRegions.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/AzureRegions.drawio -------------------------------------------------------------------------------- /ch16/Chapter16.slnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Chapter16.slnx -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/.vscode/launch.json -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/.vscode/tasks.json -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/ApplicationServices.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/CodeBreaker.Bot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/CodeBreaker.Bot.csproj -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/CodeBreakerAlgorithms.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/CodeBreakerAlgorithms.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/CodeBreakerGameRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/CodeBreakerGameRunner.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/GlobalUsings.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/GrpcGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/GrpcGamesClient.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/Program.cs -------------------------------------------------------------------------------- /ch16/CodeBreaker.Bot/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/CodeBreaker.Bot/appsettings.json -------------------------------------------------------------------------------- /ch16/Codebreaker.AppHost/AppHost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.AppHost/AppHost.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.AppHost/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.AppHost/appsettings.json -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/Api/StatusResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/Api/StatusResponse.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/ApplicationServices.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/CodeBreakerTimer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/CodeBreakerTimer.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/Codebreaker.BotQ.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/Codebreaker.BotQ.csproj -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/GlobalUsings.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/GrpcGamesClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/GrpcGamesClient.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.BotQ/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.BotQ/Program.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.CosmosCreate/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.CosmosCreate/Program.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.GameAPIs.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "DataStorage": "InMemory" 3 | } 4 | -------------------------------------------------------------------------------- /ch16/Codebreaker.GameAPIs/Errors/GameError.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.GameAPIs/Errors/GameError.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.GameAPIs/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.GameAPIs/GlobalUsings.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.GameAPIs/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.GameAPIs/Program.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.GameAPIs/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.GameAPIs/appsettings.json -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/ApplicationServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/ApplicationServices.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Codebreaker.Live.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Codebreaker.Live.csproj -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Codebreaker.Live.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Codebreaker.Live.http -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Endpoints/LiveHub.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Endpoints/LiveHub.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/GlobalUsings.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Infrastructure/Log.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Infrastructure/Log.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Program.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/Protos/LiveGame.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/Protos/LiveGame.proto -------------------------------------------------------------------------------- /ch16/Codebreaker.Live/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Live/appsettings.json -------------------------------------------------------------------------------- /ch16/Codebreaker.Ranking/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Ranking/Program.cs -------------------------------------------------------------------------------- /ch16/Codebreaker.Ranking/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Codebreaker.Ranking/appsettings.json -------------------------------------------------------------------------------- /ch16/LiveTestClient/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/GlobalUsings.cs -------------------------------------------------------------------------------- /ch16/LiveTestClient/LiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/LiveClient.cs -------------------------------------------------------------------------------- /ch16/LiveTestClient/LiveTestClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/LiveTestClient.csproj -------------------------------------------------------------------------------- /ch16/LiveTestClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/Program.cs -------------------------------------------------------------------------------- /ch16/LiveTestClient/StreamingLiveClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/StreamingLiveClient.cs -------------------------------------------------------------------------------- /ch16/LiveTestClient/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/LiveTestClient/appsettings.json -------------------------------------------------------------------------------- /ch16/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/Readme.md -------------------------------------------------------------------------------- /ch16/grafana/config/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/grafana/config/grafana.ini -------------------------------------------------------------------------------- /ch16/grafana/dashboards/aspnetcore.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/grafana/dashboards/aspnetcore.json -------------------------------------------------------------------------------- /ch16/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/ch16/prometheus/prometheus.yml -------------------------------------------------------------------------------- /installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Pragmatic-Microservices-with-CSharp-and-Azure/HEAD/installation.md --------------------------------------------------------------------------------