How aermie/devsecops works
This repository is an intentionally insecure DevSecOps demonstration, with a self-contained eShopOnWeb-derived commerce application. The application’s main user-facing areas are the storefront, basket and checkout, account/order management, and catalog administration; its public API and persistence/identity infrastructure support those areas. The excerpts establish several internal service and data-access relationships, but do not expose most page-handler and endpoint calls, so those links are omitted or marked unverified rather than inferred.
Main entry points: Program.cs Public API · Checkout.cshtml.cs Basket and Checkout · OrderService.cs Order Service · EfRepository.cs EF Repository
Components 21
Web Experiences
- Storefront
Application-Source-Code/src/Web/Pages/Index.cshtml.cs - Basket and Checkout
Application-Source-Code/src/Web/Pages/Basket/Checkout.cshtml.cs - Account and Orders
Application-Source-Code/src/Web/Controllers/ManageController.cs - Catalog Admin UI
Application-Source-Code/src/BlazorAdmin/Pages/CatalogItemPage/List.razor.cs
Commerce Services
- Catalog Services
Application-Source-Code/src/Web/Services/CatalogItemViewModelService.cs - Basket Service
Application-Source-Code/src/ApplicationCore/Services/BasketService.cs - Order Service
Application-Source-Code/src/ApplicationCore/Services/OrderService.cs - Order Domain
Application-Source-Code/src/ApplicationCore/Entities/OrderAggregate/Order.cs
API and Identity
- Public API
Application-Source-Code/src/PublicApi/Program.cs - Catalog Endpoints
Application-Source-Code/src/PublicApi/CatalogItemEndpoints - Authentication Endpoints
Application-Source-Code/src/PublicApi/AuthEndpoints/AuthenticateEndpoint.cs - Admin Catalog Client
Application-Source-Code/src/BlazorAdmin/Services/CatalogItemService.cs - HTTP Client
Application-Source-Code/src/BlazorAdmin/Services/HttpService.cs - Token Claims
Application-Source-Code/src/Infrastructure/Identity/IdentityTokenClaimService.cs
Persistence
- Identity Store
Application-Source-Code/src/Infrastructure/Identity/AppIdentityDbContext.cs - Commerce Store
Application-Source-Code/src/Infrastructure/Data/CatalogContext.cs - EF Repository
Application-Source-Code/src/Infrastructure/Data/EfRepository.cs - Basket Query
Application-Source-Code/src/Infrastructure/Data/Queries/BasketQueryService.cs - Application User
Application-Source-Code/src/Infrastructure/Identity/ApplicationUser.cs
Other components
- Shopper
- Catalog Admin
Connections 20
- Shopper → Storefront: browses
- Shopper → Basket and Checkout: checks out
- Shopper → Account and Orders: manages account
- Catalog Admin → Catalog Admin UI: manages catalog
- Catalog Admin UI → Admin Catalog Client: uses
- Admin Catalog Client → HTTP Client: sends requests
Application-Source-Code/src/BlazorAdmin/Services/CatalogItemService.cs - HTTP Client → Public API: calls API
- Public API → Catalog Endpoints: maps endpoints
- Public API → EF Repository: registers repository
Application-Source-Code/src/PublicApi/Program.cs - EF Repository → Commerce Store: uses context
Application-Source-Code/src/Infrastructure/Data/EfRepository.cs - Public API → Token Claims: registers claims service
Application-Source-Code/src/PublicApi/Program.cs - Token Claims → Application User: looks up user
Application-Source-Code/src/Infrastructure/Identity/IdentityTokenClaimService.cs - Public API → Identity Store: configures identity store
Application-Source-Code/src/PublicApi/Program.cs - Basket Service → EF Repository: uses repository
Application-Source-Code/src/ApplicationCore/Services/BasketService.cs - Basket Query → Commerce Store: queries baskets
Application-Source-Code/src/Infrastructure/Data/Queries/BasketQueryService.cs - Basket and Checkout → Basket Service: uses basket logic
- Basket and Checkout → Order Service: places order
- Order Service → Order Domain: creates orders
Application-Source-Code/src/ApplicationCore/Services/OrderService.cs - Storefront → Catalog Services: loads catalog
- Account and Orders → Order Service: reads orders