How saimahmt03/smartshop works
SmartShop is a Blazor WebAssembly client backed by an ASP.NET Core API. Users browse and manage inventory through client HTTP calls; API startup maps item and user routes, configures authentication, and initializes caching. Registration and login persist users and issue JWTs. The tree also includes order request/result contracts, but no sampled order-processing implementation, so that capability is shown only as a contract. Relationships involving unsampled endpoint and order internals are omitted or marked unverified.
Main entry points: SmartShopAPI/Program.cs API host · SmartShopAPIDbContext.cs Shop database · SmartShopClient/Program.cs Blazor app · UserService.cs User service
Components 17
Web client
- Blazor app
SmartShopClient/SmartShopClient/Program.cs - Inventory client
SmartShopClient/SmartShopClient/Service/ItemService.cs - User client
SmartShopClient/SmartShopClient/Service/UserService.cs - Token service
SmartShopClient/SmartShopClient/Service/TokenService.cs
API routing
- API host
SmartShopAPI/SmartShopAPI/Program.cs - Item routes
SmartShopAPI/SmartShopAPI/Endpoints/ItemEndpoints.cs - User routes
SmartShopAPI/SmartShopAPI/Endpoints/UserEndpoints.cs
Commerce services
- Inventory service
SmartShopAPI/SmartShopAPI/Service/ItemService/ItemService.cs - Order contracts
SmartShopAPI/SmartShopAPI/DTO/Request/OrderRequest/CreateOrderRequest.cs
Identity and access
- User service
SmartShopAPI/SmartShopAPI/Service/UserService/UserService.cs - JWT manager
SmartShopAPI/SmartShopAPI/Utilities/JwtManager.cs - JWT configuration
SmartShopAPI/SmartShopAPI/Extension/ServiceCollectionExtensions.cs - User model
SmartShopAPI/SmartShopAPI/Model/User.cs
Persistence and cache
- Shop database
SmartShopAPI/SmartShopAPI/Data/SmartShopAPIDbContext.cs - Data cache
SmartShopAPI/SmartShopAPI/Service/CacheService/DataCacheService.cs - Cache refresher
SmartShopAPI/SmartShopAPI/Extension/CacheRefreshService.cs
Other components
- Shop user
Connections 22
- Shop user → Blazor app: uses
SmartShopClient/SmartShopClient/Program.cs - Blazor app → Inventory client: registers
SmartShopClient/SmartShopClient/Program.cs - Blazor app → User client: registers
SmartShopClient/SmartShopClient/Program.cs - Blazor app → Token service: registers
SmartShopClient/SmartShopClient/Program.cs - Inventory client → API host: HTTP requests
SmartShopClient/SmartShopClient/Service/ItemService.cs - User client → API host: HTTP requests
- API host → Item routes: maps routes
SmartShopAPI/SmartShopAPI/Program.cs - API host → User routes: maps routes
SmartShopAPI/SmartShopAPI/Program.cs - Item routes → Inventory service: dispatches to
- User routes → User service: dispatches to
- Inventory service → Shop database: reads and writes
SmartShopAPI/SmartShopAPI/Service/ItemService/ItemService.cs - Inventory service → Data cache: updates cache
SmartShopAPI/SmartShopAPI/Service/ItemService/ItemService.cs - API host → Data cache: loads at startup
SmartShopAPI/SmartShopAPI/Program.cs - Data cache → Shop database: loads records
SmartShopAPI/SmartShopAPI/Service/CacheService/DataCacheService.cs - API host → Cache refresher: registers worker
SmartShopAPI/SmartShopAPI/Program.cs - Cache refresher → Data cache: refreshes
SmartShopAPI/SmartShopAPI/Extension/CacheRefreshService.cs - User service → Shop database: reads and writes
SmartShopAPI/SmartShopAPI/Service/UserService/UserService.cs - User service → JWT manager: requests token
SmartShopAPI/SmartShopAPI/Service/UserService/UserService.cs - JWT manager → Shop database: reads user type
SmartShopAPI/SmartShopAPI/Utilities/JwtManager.cs - User service → User model: creates user
SmartShopAPI/SmartShopAPI/Service/UserService/UserService.cs - API host → JWT configuration: configures authentication
SmartShopAPI/SmartShopAPI/Program.cs - Order contracts → Shop database: describes order data