eShopOnWeb
Sample ASP.NET Core 8.0 reference application, now community supported: https://github.com/NimblePros/eShopOnWeb
File Explorer
Download Latest Version (.zip)- devcontainer.json
- devcontainerreadme.md
- dotnetcore.yml
- richnav.yml
- dependabot.yml
- extensions.json
- launch.json
- tasks.json
- sqlserver.bicep
- appservice.bicep
- appserviceplan.bicep
- keyvault-access.bicep
- keyvault.bicep
- abbreviations.json
- main.bicep
- main.parameters.json
- AuthorizationConstants.cs
- Basket.cs
- BasketItem.cs
- Buyer.cs
- PaymentMethod.cs
- Address.cs
- CatalogItemOrdered.cs
- Order.cs
- OrderItem.cs
- BaseEntity.cs
- CatalogBrand.cs
- CatalogItem.cs
- CatalogType.cs
- EshopDiagram.cd
- BasketNotFoundException.cs
- DuplicateException.cs
- EmptyBasketOnCheckoutException.cs
- GuardExtensions.cs
- JsonExtensions.cs
- IAggregateRoot.cs
- IAppLogger.cs
- IBasketQueryService.cs
- IBasketService.cs
- IEmailSender.cs
- IOrderService.cs
- IReadRepository.cs
- IRepository.cs
- ITokenClaimsService.cs
- IUriComposer.cs
- BasketService.cs
- OrderService.cs
- UriComposer.cs
- BasketWithItemsSpecification.cs
- CatalogFilterPaginatedSpecification.cs
- CatalogFilterSpecification.cs
- CatalogItemNameSpecification.cs
- CatalogItemsSpecification.cs
- CustomerOrdersSpecification.cs
- CustomerOrdersWithItemsSpecification.cs
- OrderWithItemsByIdSpec.cs
- ApplicationCore.csproj
- CatalogSettings.cs
- BlazorComponent.cs
- BlazorLayoutComponent.cs
- RefreshBroadcast.cs
- ToastComponent.cs
- Cookies.cs
- Css.cs
- JSInteropConstants.cs
- Route.cs
- Create.razor
- Delete.razor
- Details.razor
- Edit.razor
- List.razor
- List.razor.cs
- Logout.razor
- launchSettings.json
- CachedCatalogItemServiceDecorator.cs
- CachedCatalogLookupDataServiceDecorator .cs
- CacheEntry.cs
- CatalogItemService.cs
- CatalogLookupDataService.cs
- HttpService.cs
- ToastService.cs
- CustomInputSelect.cs
- MainLayout.razor
- NavMenu.razor
- RedirectToLogin.razor
- Spinner.razor
- Toast.razor
- bootstrap.min.css
- bootstrap.min.css.map
- open-iconic-bootstrap.min.css
- open-iconic.eot
- open-iconic.otf
- open-iconic.svg
- open-iconic.ttf
- open-iconic.woff
- FONT-LICENSE
- ICON-LICENSE
- README.md
- admin.css
- appsettings.Development.json
- appsettings.Docker.json
- appsettings.json
- _Imports.razor
- App.razor
- BlazorAdmin.csproj
- CustomAuthStateProvider.cs
- Program.cs
- ServicesConfiguration.cs
- EndpointAttribute.cs
- ClaimValue.cs
- Constants.cs
- UserInfo.cs
- ICatalogItemService.cs
- ICatalogLookupDataService.cs
- ILookupDataResponse.cs
- CatalogBrand.cs
- CatalogBrandResponse.cs
- CatalogItem.cs
- CatalogType.cs
- CatalogTypeResponse.cs
- CreateCatalogItemRequest.cs
- CreateCatalogItemResponse.cs
- DeleteCatalogItemResponse.cs
- EditCatalogItemResponse.cs
- ErrorDetails.cs
- LookupData.cs
- PagedCatalogItemResponse.cs
- BaseUrlConfiguration.cs
- BlazorShared.csproj
- BasketConfiguration.cs
- BasketItemConfiguration.cs
- CatalogBrandConfiguration.cs
- CatalogItemConfiguration.cs
- CatalogTypeConfiguration.cs
- OrderConfiguration.cs
- OrderItemConfiguration.cs
- 20201202111507_InitialModel.cs
- 20201202111507_InitialModel.Designer.cs
- 20211026175614_FixBuyerId.cs
- 20211026175614_FixBuyerId.Designer.cs
- 20211231093753_FixShipToAddress.cs
- 20211231093753_FixShipToAddress.Designer.cs
- CatalogContextModelSnapshot.cs
- BasketQueryService.cs
- CatalogContext.cs
- CatalogContextSeed.cs
- EfRepository.cs
- FileItem.cs
- 20201202111612_InitialIdentityModel.cs
- 20201202111612_InitialIdentityModel.Designer.cs
- AppIdentityDbContextModelSnapshot.cs
- AppIdentityDbContext.cs
- AppIdentityDbContextSeed.cs
- ApplicationUser.cs
- IdentityTokenClaimService.cs
- UserNotFoundException.cs
- LoggerAdapter.cs
- EmailSender.cs
- Dependencies.cs
- Infrastructure.csproj
- AuthenticateEndpoint.AuthenticateRequest.cs
- AuthenticateEndpoint.AuthenticateResponse.cs
- AuthenticateEndpoint.ClaimValue.cs
- AuthenticateEndpoint.cs
- AuthenticateEndpoint.UserInfo.cs
- CatalogBrandDto.cs
- CatalogBrandListEndpoint.cs
- CatalogBrandListEndpoint.ListCatalogBrandsResponse.cs
- CatalogItemDto.cs
- CatalogItemGetByIdEndpoint.cs
- CatalogItemGetByIdEndpoint.GetByIdCatalogItemRequest.cs
- CatalogItemGetByIdEndpoint.GetByIdCatalogItemResponse.cs
- CatalogItemListPagedEndpoint.cs
- CatalogItemListPagedEndpoint.ListPagedCatalogItemRequest.cs
- CatalogItemListPagedEndpoint.ListPagedCatalogItemResponse.cs
- CreateCatalogItemEndpoint.CreateCatalogItemRequest.cs
- CreateCatalogItemEndpoint.CreateCatalogItemResponse.cs
- CreateCatalogItemEndpoint.cs
- DeleteCatalogItemEndpoint.cs
- DeleteCatalogItemEndpoint.DeleteCatalogItemRequest.cs
- DeleteCatalogItemEndpoint.DeleteCatalogItemResponse.cs
- UpdateCatalogItemEndpoint.cs
- UpdateCatalogItemEndpoint.UpdateCatalogItemRequest.cs
- UpdateCatalogItemEndpoint.UpdateCatalogItemResponse.cs
- CatalogTypeDto.cs
- CatalogTypeListEndpoint.cs
- CatalogTypeListEndpoint.ListCatalogTypesResponse.cs
- ExceptionMiddleware.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.Docker.json
- appsettings.json
- BaseMessage.cs
- BaseRequest.cs
- BaseResponse.cs
- CustomSchemaFilters.cs
- Dockerfile
- ImageValidators.cs
- MappingProfile.cs
- Program.cs
- PublicApi.csproj
- README.md
- dotnet-tools.json
- _ViewImports.cshtml
- ConfirmEmail.cshtml
- ConfirmEmail.cshtml.cs
- Login.cshtml
- Login.cshtml.cs
- Logout.cshtml
- Logout.cshtml.cs
- Register.cshtml
- Register.cshtml.cs
- _ValidationScriptsPartial.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- IdentityHostingStartup.cs
- ConfigureCookieSettings.cs
- ConfigureCoreServices.cs
- ConfigureWebServices.cs
- RevokeAuthenticationEvents.cs
- BaseApiController.cs
- ManageController.cs
- OrderController.cs
- UserController.cs
- CacheHelpers.cs
- EmailSenderExtensions.cs
- UrlHelperExtensions.cs
- GetMyOrders.cs
- GetMyOrdersHandler.cs
- GetOrderDetails.cs
- GetOrderDetailsHandler.cs
- ApiHealthCheck.cs
- HomePageHealthCheck.cs
- IBasketViewModelService.cs
- ICatalogItemViewModelService.cs
- ICatalogViewModelService.cs
- EditCatalogItem.cshtml
- EditCatalogItem.cshtml.cs
- Index.cshtml
- Index.cshtml.cs
- BasketItemViewModel.cs
- BasketViewModel.cs
- Checkout.cshtml
- Checkout.cshtml.cs
- Index.cshtml
- Index.cshtml.cs
- Success.cshtml
- Success.cshtml.cs
- Basket.cs
- Default.cshtml
- _editCatalog.cshtml
- _pagination.cshtml
- _product.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- Error.cshtml
- Error.cshtml.cs
- Index.cshtml
- Index.cshtml.cs
- Privacy.cshtml
- Privacy.cshtml.cs
- launchSettings.json
- BasketViewModelService.cs
- CachedCatalogViewModelService.cs
- CatalogItemViewModelService.cs
- CatalogViewModelService.cs
- LoginViewModel.cs
- LoginWith2faViewModel.cs
- RegisterViewModel.cs
- ResetPasswordViewModel.cs
- FileViewModel.cs
- ChangePasswordViewModel.cs
- EnableAuthenticatorViewModel.cs
- ExternalLoginsViewModel.cs
- IndexViewModel.cs
- RemoveLoginViewModel.cs
- SetPasswordViewModel.cs
- ShowRecoveryCodesViewModel.cs
- TwoFactorAuthenticationViewModel.cs
- BasketComponentViewModel.cs
- CatalogIndexViewModel.cs
- CatalogItemViewModel.cs
- OrderDetailViewModel.cs
- OrderItemViewModel.cs
- OrderViewModel.cs
- PaginationInfoViewModel.cs
- Lockout.cshtml
- LoginWith2fa.cshtml
- _Layout.cshtml
- _ManageNav.cshtml
- _StatusMessage.cshtml
- _ViewImports.cshtml
- ChangePassword.cshtml
- Disable2fa.cshtml
- EnableAuthenticator.cshtml
- ExternalLogins.cshtml
- GenerateRecoveryCodes.cshtml
- ManageNavPages.cs
- MyAccount.cshtml
- ResetAuthenticator.cshtml
- SetPassword.cshtml
- ShowRecoverCodes.cshtml
- TwoFactorAuthentication.cshtml
- Detail.cshtml
- MyOrders.cshtml
- Default.cshtml
- _CookieConsentPartial.cshtml
- _Layout.cshtml
- _LoginPartial.cshtml
- _ValidationScriptsPartial.cshtml
- Error.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- basket-status.component.css
- basket-status.component.min.css
- basket-status.component.scss
- basket.component.css
- basket.component.min.css
- basket.component.scss
- catalog.component.css
- catalog.component.min.css
- catalog.component.scss
- pager.css
- orders.component.css
- orders.component.min.css
- orders.component.scss
- header.css
- header.min.css
- header.scss
- identity.css
- identity.min.css
- identity.scss
- pager.css
- pager.min.css
- pager.scss
- _variables.css
- _variables.min.css
- _variables.scss
- app.component.css
- app.component.min.css
- app.component.scss
- app.css
- app.min.css
- site.min.css
- Montserrat-Bold.eot
- Montserrat-Bold.svg
- Montserrat-Bold.ttf
- Montserrat-Bold.woff
- Montserrat-Bold.woff2
- Montserrat-Regular.eot
- Montserrat-Regular.svg
- Montserrat-Regular.ttf
- Montserrat-Regular.woff
- Montserrat-Regular.woff2
- 1.png
- 10.png
- 11.png
- 12.png
- 2.png
- 3.png
- 4.png
- 5.jpg
- 5.png
- 6.png
- 7.png
- 8.png
- 9.png
- eCatalog-item-default.png
- arrow-down.png
- arrow-right.svg
- brand.png
- cart.png
- logout.png
- main_banner.png
- main_banner_text.png
- main_banner_text.svg
- my_orders.png
- refresh.svg
- site.js
- site.min.js
- favicon.ico
- appsettings.Development.json
- appsettings.Docker.json
- appsettings.json
- bundleconfig.json
- compilerconfig.json
- compilerconfig.json.defaults
- Constants.cs
- Dockerfile
- key-768c1632-cf7b-41a9-bb7a-bff228ae8fba.xml
- libman.json
- Program.cs
- SlugifyParameterTransformer.cs
- Web.csproj
- AuthenticateEndpoint.cs
- ApiTestFixture.cs
- ApiTokenHelper.cs
- AccountControllerSignIn.cs
- CatalogControllerIndex.cs
- OrderControllerIndex.cs
- BasketPageCheckout.cs
- CheckoutTest.cs
- IndexTest.cs
- HomePageOnGet.cs
- WebPageHelpers.cs
- WebTestFixture.cs
- FunctionalTests.csproj
- SetQuantities.cs
- GetById.cs
- GetByIdWithItemsAsync.cs
- IntegrationTests.csproj
- AuthenticateEndpointTest.cs
- CatalogItemGetByIdEndpointTest.cs
- CatalogItemListPagedEndpoint.cs
- CreateCatalogItemEndpointTest.cs
- DeleteCatalogItemEndpointTest.cs
- ApiTokenHelper.cs
- appsettings.test.json
- ProgramTest.cs
- PublicApiIntegrationTests.csproj
- BasketAddItem.cs
- BasketRemoveEmptyItems.cs
- BasketTotalItems.cs
- OrderTotal.cs
- JsonExtensions.cs
- TestChild.cs
- TestParent.cs
- AddItemToBasket.cs
- DeleteBasket.cs
- TransferBasket.cs
- BasketWithItemsSpecification.cs
- CatalogFilterPaginatedSpecification.cs
- CatalogFilterSpecification.cs
- CatalogItemsSpecification.cs
- CustomerOrdersWithItemsSpecification.cs
- AddressBuilder.cs
- BasketBuilder.cs
- OrderBuilder.cs
- GetMyOrders.cs
- GetOrderDetails.cs
- GenerateBrandsCacheKey.cs
- GenerateCatalogItemCacheKey.cs
- GenerateTypesCacheKey.cs
- UnitTests.csproj
- .dockerignore
- .editorconfig
- .gitattributes
- .gitignore
- azure.yaml
- CodeCoverage.runsettings
- Directory.Packages.props
- docker-compose.dcproj
- docker-compose.override.yml
- docker-compose.yml
- eShopOnWeb.sln
- Everything.sln
- global.json
- LICENSE
- README.md
π Installation Guide
git clone https://github.com/dotnet-architecture/eShopOnWeb
Downloads the entire project code from GitHub to your computer.
cd eShopOnWeb
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommendedcurl -fsSL https://aka.ms/install-azd.sh | bash
Downloads and runs the official install script in one line β this handles the full setup automatically.
Pulled directly from this repo's README.
3. Docker
Easy- 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 build
Runs the command against the services defined in the compose file.
docker-compose up
Runs the command against the services defined in the compose file.
Pulled directly from this repo's README.
4. .NET
Mediumazd init -t dotnet-architecture/eShopOnWeb
Type this command into your terminal and run it.
dotnet tool update --global dotnet-ef
Type this command into your terminal and run it.
dotnet restore
Downloads the packages the project depends on.
dotnet tool restore
Type this command into your terminal and run it.
dotnet ef database update -c catalogcontext -p ../Infrastructure/Infrastructure.csproj -s Web.csproj
Type this command into your terminal and run it.
Pulled directly from this repo's README.
