microservices-dotnetcore-docker-sf-k8s
Shows an approach to work with a microservices based architecture using .Net Core, Docker, and Azure Service Fabric/Kubernetes, applying Domain Driven Design (DDD) and Comand and Query Responsibility Segregation (CQRS) and other patterns.
File Explorer
Download Latest Version (.zip)- deploycosmos.json
- deploycosmos.parameters.json
- invoice-deployment-with-proxy.yaml
- invoice-deployment.yaml
- invoice-hpa.yaml
- invoice-service.yaml
- notifications-deployment.yaml
- notifications-hpa.yaml
- notifications-ingress.yaml
- notifications-service.yaml
- trip-deployment.yaml
- trip-hpa.yaml
- trip-service.yaml
- website-deployment-with-proxy.yaml
- website-deployment.yaml
- website-hpa.yaml
- website-service.yaml
- default-ingress.yaml
- delete-resources.sh
- deploy.sh
- env-config.yaml
- payment-deployment.yaml
- payment-service.yaml
- invoice-deployment.yaml
- invoice-ingress.yaml
- invoice-service.yaml
- mongo-admin.yaml
- mongo-deployment.yaml
- mongo-service.yaml
- custom-service.yaml
- notifications-deployment.yaml
- notifications-hpa.yaml
- notifications-ingress.yaml
- notifications-service.yaml
- rabbit-admin.yaml
- rabbit-deployment.yaml
- rabbit-service.yaml
- redis-deployment.yaml
- redis-service.yaml
- sql-admin.yaml
- sql-deployment.yaml
- sql-service.yaml
- trip-deployment.yaml
- trip-hpa.yaml
- trip-ingress.yaml
- trip-service.yaml
- website-deployment.yaml
- website-hpa.yaml
- website-ingress.yaml
- website-service.yaml
- dashboard-adminuser.yaml
- delete-resources.ps1
- deploy-local.ps1
- env-config.yaml
- readme.md
- redisdeploy.json
- redisdeploy.parameters.json
- sbusdeploy.json
- sbusdeploy.parameters.json
- gen-keyvaultcert.ps1
- servicefabricdeploy.json
- servicefabricdeploy.parameters.json
- sqldeploy.json
- sqldeploy.parameters.json
- create-resources.cmd
- dotnet-tools.json
- PaymentController.cs
- PaymentServiceExternal - Web Deploy.pubxml
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Dockerfile
- PaymentService.csproj
- Program.cs
- Startup.cs
- Settings.xml
- ServiceManifest.xml
- Settings.xml
- ServiceManifest.xml
- ApplicationManifest.xml
- Cloud.xml
- Local.1Node.xml
- Local.5Node.xml
- Cloud.xml
- Local.1Node.xml
- Local.5Node.xml
- Deploy-FabricApplication.ps1
- DuberMicroservices.sfproj
- packages.config
- InvoiceCreatedDomainEventHandler.cs
- InvoicePaidDomainEventHandler.cs
- InvoiceCreatedIntegrationEvent.cs
- InvoicePaidIntegrationEvent.cs
- TripCancelledIntegrationEvent.cs
- TripFinishedIntegrationEvent.cs
- TripCancelledIntegrationEventHandler.cs
- TripFinishedIntegrationEventHandler.cs
- InvoiceDomainProfile.cs
- InvoiceEventsProfile.cs
- CreateInvoiceRequest.cs
- Invoice.cs
- CreateInvoiceRequestValidator.cs
- HomeController.cs
- InvoiceController.cs
- ApplicationBuilderExtensions.cs
- ServiceCollectionExtensions.cs
- InternalServerErrorObjectResult.cs
- MediatorModule.cs
- HttpGlobalExceptionFilter.cs
- ValidatorActionFilter.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Dockerfile
- Dockerfile.original
- Duber.Invoice.API.csproj
- Program.cs
- Startup.cs
- TripCreatedDomainEventHandlerAsync.cs
- TripUpdatedDomainEventHandlerAsync.cs
- TripCancelledIntegrationEvent.cs
- TripCreatedIntegrationEvent.cs
- TripFinishedIntegrationEvent.cs
- TripUpdatedIntegrationEvent.cs
- TripCommandsProfile.cs
- TripDomainProfile.cs
- TripEventsProfile.cs
- CreateTripCommand.cs
- Location.cs
- Trip.cs
- UpdateTripCommand.cs
- UpdateTripCommandValidator.cs
- EventStoreController.cs
- HomeController.cs
- TripController.cs
- ApplicationBuilderExtensions.cs
- ServiceCollectionExtensions.cs
- InternalServerErrorObjectResult.cs
- HttpGlobalExceptionFilter.cs
- ValidatorActionFilter.cs
- EventStoreRepository.cs
- IdempotencyStoreProvider.cs
- IEventStoreRepository.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Dockerfile
- Duber.Trip.API.csproj
- Program.cs
- Startup.cs
- TripCancelledIntegrationEvent.cs
- TripCreatedDomainEvent.cs
- TripEventBase.cs
- TripFinishedIntegrationEvent.cs
- TripUpdatedIntegrationEvent.cs
- TripCreatedIntegrationEventHandler.cs
- TripFinishedIntegrationEventHandler.cs
- TripUpdatedIntegrationEventHandler.cs
- ApplicationBuilderExtensions.cs
- ServiceCollectionExtensions.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Dockerfile
- Duber.Trip.Notifications.csproj
- NotificationsHub.cs
- Program.cs
- Startup.cs
- DriverDomainException.cs
- 20180328053630_InitialCreate.cs
- 20180328053630_InitialCreate.Designer.cs
- DriverContextModelSnapshot.cs
- Driver.cs
- DriverStatus.cs
- Vehicle.cs
- VehicleType.cs
- DriverEntityTypeConfiguration.cs
- DriverStatusEntityTypeConfiguration.cs
- VehicleEntityTypeConfiguration.cs
- VehicleTypeEntityTypeConfiguration.cs
- DriverContext.cs
- DriverContextSeed.cs
- DriverRepository.cs
- IDriverRepository.cs
- Duber.Domain.Driver.csproj
- Duber.Domain.Driver.UnitTest.csproj
- UnitTest1.cs
- PaymentServiceAdapter.cs
- IPaymentService.cs
- PaymentInfoTranslator.cs
- Duber.Domain.ACL.csproj
- ThirdPartyServices.cs
- PaymentInfo.cs
- PaymentMethod.cs
- TripStatus.cs
- Duber.Domain.SharedKernel.csproj
- InvoiceCreatedDomainEvent.cs
- InvoicePaidDomainEvent.cs
- InvoiceDomainArgumentNullException.cs
- InvoiceDomainInvalidOperationException.cs
- TripInformationExtensions.cs
- 20180407204749_InitialCreate.cs
- 20180407204749_InitialCreate.Designer.cs
- 20180410015654_PaymentInfo.cs
- 20180410015654_PaymentInfo.Designer.cs
- InvoiceMigrationContextModelSnapshot.cs
- Invoice.cs
- TripInformation.cs
- IInvoiceContext.cs
- InvoiceContext.cs
- InvoiceMigrationContext.cs
- IInvoiceRepository.cs
- InvoiceRepository.cs
- IPaymentService.cs
- PaymentService.cs
- Duber.Domain.Invoice.csproj
- Duber.Domain.Invoice.UnitTest.csproj
- UnitTest1.cs
- CreateTripCommandHandlerAsync.cs
- UpdateTripCommandHandlerAsync.cs
- CreateTripCommand.cs
- UpdateTripCommand.cs
- TripCreatedDomainEvent.cs
- TripUpdatedDomainEvent.cs
- TripDomainArgumentNullException.cs
- TripDomainInvalidOperationException.cs
- Location.cs
- Rating.cs
- Trip.cs
- VehicleInformation.cs
- Duber.Domain.Trip.csproj
- Duber.Domain.Trip.UnitTest.csproj
- UnitTest1.cs
- UserDomainException.cs
- 20180328010407_InitialCreate.cs
- 20180328010407_InitialCreate.Designer.cs
- UserContextModelSnapshot.cs
- User.cs
- PaymentMethodEntityTypeConfiguration.cs
- UserEntityTypeConfiguration.cs
- UserContext.cs
- UserContextSeed.cs
- IUserRepository.cs
- UserRepository.cs
- Duber.Domain.User.csproj
- Duber.Domain.User.UnitTest.csproj
- UnitTest1.cs
- Entity.cs
- Enumeration.cs
- IAggregateRoot.cs
- ValueObject.cs
- MediatorExtensions.cs
- JsonContent.cs
- IRepository.cs
- IUnitOfWork.cs
- Duber.Infrastructure.csproj
- Duber.Infrastructure.Resilience.Abstractions.csproj
- IPolicyAsyncExecutor.cs
- IPolicySyncExecutor.cs
- PolicyAsyncExecutor.cs
- PolicySyncExecutor.cs
- Duber.Infrastructure.Resilience.Http.csproj
- ResilientHttpClient.cs
- SqlAsyncPolicyBuilder.cs
- SqlHandledExceptions.cs
- SqlSyncPolicyBuilder.cs
- AsyncPolicies.cs
- PolicyKeys.cs
- SyncPolicies.cs
- Duber.Infrastructure.Resilience.Sql.csproj
- ISqlPolicyBuilder.cs
- SqlPolicyBuilder.cs
- launchSettings.json
- Duber.Infrastructure.WebHost.csproj
- WebHostExtensions.cs
- IDynamicIntegrationEventHandler.cs
- IEventBus.cs
- IIntegrationEventHandler.cs
- IntegrationEvent.cs
- Duber.Infrastructure.EventBus.csproj
- IEventBusSubscriptionsManager.cs
- InMemoryEventBusSubscriptionsManager.cs
- SubscriptionInfo.cs
- Duber.Infrastructure.EventBus.Idempotency.csproj
- IdempotentIntegrationEvent.cs
- IdempotentIntegrationEventHandler.cs
- IdempotentMessage.cs
- IIdempotencyStoreProvider.cs
- ServiceCollectionExtensions.cs
- ServiceCollectionExtensions.cs
- DefaultRabbitMQPersisterConnection.cs
- Duber.Infrastructure.EventBus.RabbitMQ.csproj
- EventBusRabbitMQ.cs
- IRabbitMQPersisterConnection.cs
- ServiceCollectionExtensions.cs
- DefaultServiceBusPersisterConnection.cs
- Duber.Infrastructure.EventBus.ServiceBus.csproj
- EventBusServiceBus.cs
- IServiceBusPersisterConnection.cs
- InvoiceCreatedIntegrationEvent.cs
- InvoicePaidIntegrationEvent.cs
- TripCreatedIntegrationEvent.cs
- TripUpdatedIntegrationEvent.cs
- InvoiceCreatedIntegrationEventHandler.cs
- InvoicePaidIntegrationEventHandler.cs
- TripCreatedIntegrationEventHandler.cs
- TripUpdatedIntegrationEventHandler.cs
- HomeController.cs
- TripController.cs
- ApplicationBuilderExtensions.cs
- Extensions.cs
- ServiceCollectionExtensions.cs
- ReportingContext.cs
- IReportingRepository.cs
- ReportingRepository.cs
- 20180412031300_InitialCreate.cs
- 20180412031300_InitialCreate.Designer.cs
- ReportingContextModelSnapshot.cs
- DriverModel.cs
- ErrorViewModel.cs
- Trip.cs
- TripApiSettings.cs
- TripRequestModel.cs
- UserModel.cs
- launchSettings.json
- About.cshtml
- Contact.cshtml
- Index.cshtml
- _Layout.cshtml
- _ValidationScriptsPartial.cshtml
- Error.cshtml
- _Map.cshtml
- DriverTrips.cshtml
- Index.cshtml
- TripDetails.cshtml
- TripsByDriver.cshtml
- TripsByUser.cshtml
- UserTrips.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- site.css
- site.min.css
- banner1.svg
- banner2.svg
- banner3.svg
- banner4.svg
- car-icon.png
- car-icon1.png
- car-icon3.png
- car-icon4.png
- duber_logo.png
- site.js
- site.min.js
- favicon.ico
- appsettings.Development.json
- appsettings.json
- bundleconfig.json
- Dockerfile
- Duber.WebSite.csproj
- libman.json
- Program.cs
- Startup.cs
- .dockerignore
- .editorconfig
- .env
- .gitignore
- build-images.ps1
- ChangeLog.md
- docker-compose.dcproj
- docker-compose.override.yml
- docker-compose.yml
- k8s-architecture.md
- LICENSE
- local-deployment.md
- microservices-netcore-docker-servicefabric.sln
- package-lock.json
- publish-images.ps1
- README.md
- SF-architecture.md
- TunningDocker.md
# Installation Guide
1. Get the code
git clone https://github.com/vany0114/microservices-dotnetcore-docker-sf-k8s
Downloads the entire project code from GitHub to your computer.
cd microservices-dotnetcore-docker-sf-k8s
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose -f docker-compose.override.yml up -d --build
Runs the command against the services defined in the compose file.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. .NET
MediumPrerequisites
cd ExternalSystem/PaymentService
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
After dotnet run, check the message or address shown in the terminal.
// repository documentation
Was this content helpful?
(0 ratings)
