run-aspnetcore-microservices
Microservices on .NET platforms used ASP.NET Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation with using latest features of .NET 8 and C# 12
File Explorer
Download Latest Version (.zip)- appsettings.Development.json
- appsettings.json
- appsettings.Local.json
- Dockerfile
- Program.cs
- YarpApiGateway.csproj
- LoggingBehavior.cs
- ValidationBehavior.cs
- ICommand.cs
- ICommandHandler.cs
- IQuery.cs
- IQueryHandler.cs
- CustomExceptionHandler.cs
- BadRequestException.cs
- InternalServerException.cs
- NotFoundException.cs
- PaginatedResult.cs
- PaginationRequest.cs
- BuildingBlocks.csproj
- BasketCheckoutEvent.cs
- IntegrationEvent.cs
- Extentions.cs
- BuildingBlocks.Messaging.csproj
- CheckoutBasketEndpoints.cs
- CheckoutBasketHandler.cs
- DeleteBasketEndpoints.cs
- DeleteBasketHandler.cs
- GetBasketEndpoints.cs
- GetBasketHandler.cs
- StoreBasketEndpoints.cs
- StoreBasketHandler.cs
- BasketRepository.cs
- CachedBasketRepository.cs
- IBasketRepository.cs
- BasketCheckoutDto.cs
- BasketNotFoundException.cs
- ShoppingCart.cs
- ShoppingCartItem.cs
- appsettings.Development.json
- appsettings.json
- Basket.API.csproj
- Dockerfile
- Dockerfile.original
- GlobalUsing.cs
- Program.cs
- CatalogInitialData.cs
- ProductNotFoundException.cs
- Product.cs
- CreateProductEndpoint.cs
- CreateProductHandler.cs
- DeleteProductEndpoint.cs
- DeleteProductHandler.cs
- GetProductByCategoryEndpoint.cs
- GetProductByCategoryHandler.cs
- GetProductByIdEndpoint.cs
- GetProductByIdHandler.cs
- GetProductsEndpoint.cs
- GetProductsHandler.cs
- UpdateProductEndpoint.cs
- UpdateProductHandler.cs
- appsettings.Development.json
- appsettings.json
- Catalog.API.csproj
- Dockerfile
- Dockerfile.original
- GlobalUsing.cs
- Program.cs
- DiscountContext.cs
- Extentions.cs
- 20240202091837_InitialCreate.cs
- 20240202091837_InitialCreate.Designer.cs
- DiscountContextModelSnapshot.cs
- Coupon.cs
- discount.proto
- DiscountService.cs
- appsettings.Development.json
- appsettings.json
- Discount.Grpc.csproj
- discountdb
- Dockerfile
- Program.cs
- CreateOrder.cs
- DeleteOrder.cs
- GetOrders.cs
- GetOrdersByCustomer.cs
- GetOrdersByName.cs
- UpdateOrder.cs
- appsettings.Development.json
- appsettings.json
- DependencyInjection.cs
- Dockerfile
- Dockerfile.original
- GlobalUsing.cs
- Ordering.API.csproj
- Program.cs
- IApplicationDbContext.cs
- AddressDto.cs
- OrderDto.cs
- OrderItemDto.cs
- PaymentDto.cs
- OrderNotFoundException.cs
- OrderExtensions.cs
- CreateOrderCommand.cs
- CreateOrderHandler.cs
- DeleteOrderCommand.cs
- DeleteOrderHandler.cs
- UpdateOrderCommand.cs
- UpdateOrderHandler.cs
- OrderCreatedEventHandler.cs
- OrderUpdatedEventHandler.cs
- BasketCheckoutEventHandler.cs
- GetOrdersHandler.cs
- GetOrdersQuery.cs
- GetOrdersByCustomerHandler.cs
- GetOrdersByCustomerQuery.cs
- GetOrdersByNameHandler.cs
- GetOrdersByNameQuery.cs
- DependencyInjection.cs
- GlobalUsing.cs
- Ordering.Application.csproj
- Aggregate.cs
- Entity.cs
- IAggregate.cs
- IDomainEvent.cs
- IEntity.cs
- OrderStatus.cs
- OrderCreatedEvent.cs
- OrderUpdatedEvent.cs
- DomainException.cs
- Customer.cs
- Order.cs
- OrderItem.cs
- Product.cs
- Address.cs
- CustomerId.cs
- OrderId.cs
- OrderItemId.cs
- OrderName.cs
- Payment.cs
- ProductId.cs
- GlobalUsing.cs
- Ordering.Domain.csproj
- CustomerConfiguration.cs
- OrderConfiguration.cs
- OrderItemConfiguration.cs
- ProductConfiguration.cs
- DatabaseExtentions.cs
- InitialData.cs
- AuditableEntityInterceptor.cs
- DispatchDomainEventsInterceptor.cs
- 20240216090112_InitialCreate.cs
- 20240216090112_InitialCreate.Designer.cs
- ApplicationDbContextModelSnapshot.cs
- ApplicationDbContext.cs
- DependencyInjection.cs
- GlobalUsing.cs
- Ordering.Infrastructure.csproj
- BasketCheckoutModel.cs
- ShoppingCartModel.cs
- ProductModel.cs
- OrderModel.cs
- PaginatedResult.cs
- _Layout.cshtml
- _Layout.cshtml.css
- _ProductItemPartial.cshtml
- _TopProductPartial.cshtml
- _ValidationScriptsPartial.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- Cart.cshtml
- Cart.cshtml.cs
- Checkout.cshtml
- Checkout.cshtml.cs
- Confirmation.cshtml
- Confirmation.cshtml.cs
- Contact.cshtml
- Contact.cshtml.cs
- Error.cshtml
- Error.cshtml.cs
- Index.cshtml
- Index.cshtml.cs
- OrderList.cshtml
- OrderList.cshtml.cs
- Privacy.cshtml
- Privacy.cshtml.cs
- ProductDetail.cshtml
- ProductDetail.cshtml.cs
- ProductList.cshtml
- ProductList.cshtml.cs
- IBasketService.cs
- ICatalogService.cs
- IOrderingService.cs
- style.css
- banner1.png
- banner2.png
- banner3.png
- product-1.png
- product-2.png
- product-3.png
- product-4.png
- product-5.png
- product-6.png
- product-7.png
- productx1.png
- productx2.png
- productx3.png
- productx4.png
- productx5.png
- productx6.png
- productx7.png
- placeholder.png
- 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
- 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
- LICENSE
- jquery.js
- jquery.min.js
- jquery.min.map
- LICENSE.txt
- additional-methods.js
- additional-methods.min.js
- jquery.validate.js
- jquery.validate.min.js
- LICENSE.md
- jquery.validate.unobtrusive.js
- jquery.validate.unobtrusive.min.js
- LICENSE.txt
- favicon.ico
- appsettings.Development.json
- appsettings.json
- Dockerfile
- GlobalUsing.cs
- Program.cs
- Shopping.Web.csproj
- .dockerignore
- docker-compose.dcproj
- docker-compose.override.yml
- docker-compose.yml
- eshop-microservices.sln
- EShopMicroservices.postman_collection.json
- launchSettings.json
- .gitignore
- LICENSE
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/aspnetrun/run-aspnetcore-microservices
Downloads the entire project code from GitHub to your computer.
cd run-aspnetcore-microservices
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.yml -f docker-compose.override.yml up -d
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.
Pulled directly from this repo's README.
3. .NET
MediumPrerequisites
β οΈ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd src/ApiGateways/YarpApiGateway
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)
