gitextract_c0ak1tpq/ ├── .gitignore ├── LICENSE ├── README.md └── src/ ├── Chapter01/ │ ├── HelloMicroservices/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── CurrentDateTimeModule.cs │ │ ├── Dockerfile │ │ ├── HelloMicroservices.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ └── ch01.sln ├── Chapter02/ │ ├── ShoppingCart/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Dockerfile │ │ ├── EventFeed/ │ │ │ ├── Event.cs │ │ │ ├── EventStore.cs │ │ │ ├── EventsFeedModule.cs │ │ │ └── IEventStore.cs │ │ ├── IProductCatalogueClient.cs │ │ ├── ProductCatalogueClient.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── ShoppingCart/ │ │ │ ├── IShoppingCartStore.cs │ │ │ ├── ShoppingCart.cs │ │ │ ├── ShoppingCartModule.cs │ │ │ └── ShoppingCartStore.cs │ │ ├── ShoppingCart.xproj │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ └── ch02.sln ├── Chapter04/ │ ├── .idea.Ch4/ │ │ └── riderModule.iml │ ├── ApiGatewayMock/ │ │ ├── .gitignore │ │ ├── ApiGatewayMock.xproj │ │ ├── LoyalProgramClient.cs │ │ ├── Program.cs │ │ └── project.json │ ├── Ch4.sln │ ├── LoyaltyProgram/ │ │ ├── .gitignore │ │ ├── Bootstrapper.cs │ │ ├── Dockerfile │ │ ├── LoyaltyProgram.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── UsersModule.cs │ │ ├── YamlSerializerDeserializer.cs │ │ ├── project.json │ │ └── web.config │ └── LoyaltyProgramEventConsumer/ │ ├── .gitignore │ ├── LoyaltyProgramEventConsumer.xproj │ ├── Program.cs │ └── project.json ├── Chapter05/ │ ├── Ch5.sln │ ├── ProductCatalog/ │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── ProductCatalog.xproj │ │ ├── ProductsModule.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ └── ShoppingCart/ │ ├── .gitignore │ ├── .vscode/ │ │ ├── launch.json │ │ └── tasks.json │ ├── Dockerfile │ ├── EventFeed/ │ │ ├── Event.cs │ │ ├── EventStore.cs │ │ ├── EventsFeedModule.cs │ │ └── IEventStore.cs │ ├── ICache.cs │ ├── IProductCatalogueClient.cs │ ├── ProductCatalogueClient.cs │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ ├── README.md │ ├── ShoppingCart/ │ │ ├── IShoppingCartStore.cs │ │ ├── ShoppingCart.cs │ │ ├── ShoppingCartModule.cs │ │ └── ShoppingCartStore.cs │ ├── ShoppingCart.xproj │ ├── Startup.cs │ ├── database-scripts/ │ │ └── create-shopping-cart-db.sql │ ├── project.json │ └── web.config ├── Chapter06/ │ ├── ApiGatewayMock/ │ │ ├── .gitignore │ │ ├── ApiGatewayMock.xproj │ │ ├── LoyaltyProgramClient.cs │ │ ├── Program.cs │ │ └── project.json │ ├── Ch6.sln │ ├── LoyaltyProgram/ │ │ ├── .gitignore │ │ ├── Bootstrapper.cs │ │ ├── Dockerfile │ │ ├── LoyaltyProgram.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── UsersModule.cs │ │ ├── YamlSerializerDeserializer.cs │ │ ├── project.json │ │ └── web.config │ └── LoyaltyProgramEventConsumer/ │ ├── .gitignore │ ├── LoyaltyProgramEventConsumer.xproj │ ├── Program.cs │ └── project.json ├── Chapter07/ │ ├── .idea.Ch7/ │ │ └── riderModule.iml │ ├── Ch7.sln │ ├── LoyaltyProgram/ │ │ ├── .gitignore │ │ ├── Bootstrapper.cs │ │ ├── Dockerfile │ │ ├── EventFeed/ │ │ │ ├── Event.cs │ │ │ ├── EventStore.cs │ │ │ ├── EventsFeedModule.cs │ │ │ └── IEventStore.cs │ │ ├── LoyaltyProgram.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── UsersModule.cs │ │ ├── YamlSerializerDeserializer.cs │ │ ├── project.json │ │ └── web.config │ ├── LoyaltyProgramEventConsumer/ │ │ ├── .gitignore │ │ ├── LoyaltyProgramEventConsumer.xproj │ │ ├── Program.cs │ │ └── project.json │ ├── LoyaltyProgramIntegrationTest/ │ │ ├── .gitignore │ │ ├── FakeEndpoints.cs │ │ ├── LoyaltyProgramIntegrationTest.xproj │ │ ├── RegisterUserAndGetNotificationScenario.cs │ │ └── project.json │ └── LoyaltyProgramUnitTests/ │ ├── .gitignore │ ├── EventFeed_should.cs │ ├── LoyaltyProgramUnitTests.xproj │ ├── TestModule_should.cs │ ├── UserModule_should.cs │ └── project.json ├── Chapter09/ │ └── ShoppingCart/ │ ├── .gitignore │ ├── .vscode/ │ │ ├── launch.json │ │ └── tasks.json │ ├── Application_Packages/ │ │ └── LibOwin.cs │ ├── Dockerfile │ ├── EventFeed/ │ │ ├── Event.cs │ │ ├── EventStore.cs │ │ ├── EventsFeedModule.cs │ │ └── IEventStore.cs │ ├── ICache.cs │ ├── IProductCatalogueClient.cs │ ├── LoggingMiddleware.cs │ ├── MonitoringMiddleware.cs │ ├── ProductCatalogueClient.cs │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ ├── README.md │ ├── ShoppingCart/ │ │ ├── IShoppingCartStore.cs │ │ ├── ShoppingCart.cs │ │ ├── ShoppingCartModule.cs │ │ └── ShoppingCartStore.cs │ ├── ShoppingCart.xproj │ ├── Startup.cs │ ├── database-scripts/ │ │ └── create-shopping-cart-db.sql │ ├── project.json │ └── web.config ├── Chapter11/ │ ├── .idea.ch11/ │ │ └── riderModule.iml │ ├── HelloMicroservicesPlatform/ │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── HelloMicroservicesPlatform.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ ├── MicroserivceNET.Auth/ │ │ ├── .gitignore │ │ ├── Application_Packages/ │ │ │ └── LibOwin.cs │ │ ├── AuthorizationMiddleware.cs │ │ ├── BuildFuncExtensions.cs │ │ ├── MicroserivceNET.Auth.xproj │ │ └── project.json │ ├── MicroserviceNET.Logging/ │ │ ├── .gitignore │ │ ├── Application_Packages/ │ │ │ └── LibOwin.cs │ │ ├── BuildFuncExtensions.cs │ │ ├── LoggingMiddleware.cs │ │ ├── MicroserviceNET.Logging.xproj │ │ ├── MonitoringMiddleware.cs │ │ └── project.json │ ├── MicroserviceNET.Platform/ │ │ ├── .gitignore │ │ ├── Application_Packages/ │ │ │ └── LibOwin.cs │ │ ├── HttpClientFactory.cs │ │ ├── MicroserviceNET.Platform.xproj │ │ ├── MicroservicePlatformHelper.cs │ │ └── project.json │ └── ch11.sln ├── Chapter12/ │ ├── .idea.C12/ │ │ └── riderModule.iml │ ├── ApiGateway/ │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── GatewayModule.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── productlist.sshtml │ │ ├── project.json │ │ └── web.config │ ├── Login/ │ │ ├── .gitignore │ │ ├── Configuration/ │ │ │ ├── Clients.cs │ │ │ ├── Scopes.cs │ │ │ └── Users.cs │ │ ├── Dockerfile │ │ ├── Login.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ ├── ProductCatalog/ │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── ProductsModule.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ ├── ShoppingCart/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ ├── launch.json │ │ │ └── tasks.json │ │ ├── Dockerfile │ │ ├── EventFeed/ │ │ │ ├── Event.cs │ │ │ ├── EventStore.cs │ │ │ ├── EventsFeedModule.cs │ │ │ └── IEventStore.cs │ │ ├── ICache.cs │ │ ├── IProductCatalogueClient.cs │ │ ├── ProductCatalogueClient.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── ShoppingCart/ │ │ │ ├── IShoppingCartStore.cs │ │ │ ├── ShoppingCart.cs │ │ │ ├── ShoppingCartModule.cs │ │ │ └── ShoppingCartStore.cs │ │ ├── ShoppingCart.xproj │ │ ├── Startup.cs │ │ ├── database-scripts/ │ │ │ └── create-shopping-cart-db.sql │ │ ├── project.json │ │ └── web.config │ └── start-app.ps1 ├── chapter03/ │ └── readme.md ├── chapter08/ │ └── OwinMiddlewareTests/ │ ├── .gitignore │ ├── LibOwin.cs │ ├── SampleTest.cs │ └── project.json ├── chapter10/ │ ├── .idea.ch10/ │ │ └── riderModule.iml │ ├── ApiGatewayMock/ │ │ ├── .gitignore │ │ ├── ApiGatewayMock.xproj │ │ ├── LoyalProgramClient.cs │ │ ├── Program.cs │ │ └── project.json │ ├── Login/ │ │ ├── .gitignore │ │ ├── Configuration/ │ │ │ ├── Clients.cs │ │ │ ├── Scopes.cs │ │ │ └── Users.cs │ │ ├── Dockerfile │ │ ├── Login.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── project.json │ │ └── web.config │ ├── LoyaltyProgram/ │ │ ├── .gitignore │ │ ├── Application_Packages/ │ │ │ └── LibOwin.cs │ │ ├── Bootstrapper.cs │ │ ├── Dockerfile │ │ ├── LoyaltyProgram.xproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── README.md │ │ ├── Startup.cs │ │ ├── UsersModule.cs │ │ ├── YamlSerializerDeserializer.cs │ │ ├── project.json │ │ └── web.config │ ├── ch10.sln │ └── start-app.ps1 └── global.json