How samuelcmbah/sportstore works
SportStore is an ASP.NET Core e-commerce application. The primary customer workflow is product discovery, cart management, checkout and payment, followed by order-status updates and confirmation. Separate branches cover account security, administration, inventory, product images and email. The README documents several integrations whose implementations were not sampled; those capabilities are represented without asserting unverified internal wiring. Edges reflect sampled controller calls and documented interactions.
Main entry points: OrderController.cs Checkout · CartController.cs Cart Controller · EFOrderRepository.cs Order Repository · CartService.cs Persistent Cart
Components 29
Storefront
- Product Browsing
SportStore/Controllers/HomeController.cs - Product Services
SportStore/Services/ProductService.cs - Store Repository
SportStore/Services/EFStoreRepository.cs - Status Poller
SportStore/wwwroot/js/order-status-poller.js - Store Database
SportStore/Data/StoreDbContext.cs
Cart and Orders
- Cart Controller
SportStore/Controllers/CartController.cs - Cart Logic
SportStore/Services/CartDomainService.cs - Persistent Cart
SportStore/Services/CartService.cs - Session Cart
SportStore/Utils/SessionCart.cs - Checkout
SportStore/Controllers/OrderController.cs - Order Logic
SportStore/Services/OrderDomainService.cs - Inventory
SportStore/Services/InventoryService.cs - Order Repository
SportStore/Services/EFOrderRepository.cs - Payment Webhook
SportStore/Controllers/PaymentNotificationAPIController.cs - Order Status API
SportStore/Controllers/OrdersApiController.cs
Accounts
- Account Controller
SportStore/Controllers/AccountController.cs - Account Service
SportStore/Services/AccountService.cs - Identity Store
SportStore/Data/AppIdentityDbContext.cs
Administration
- Product Admin
SportStore/Areas/Admin/Controllers/ProductsController.cs - Category Admin
SportStore/Areas/Admin/Controllers/CategoryController.cs - Order Admin
SportStore/Areas/Admin/Controllers/OrdersController.cs
Integrations
- Payment Service
SportStore/Services/PaymentService.cs - PayBridge
- Image Service
SportStore/Services/CloudinaryService.cs - Cloudinary
- Order Notifications
SportStore/Services/OrderNotificationService.cs - Email Service
SportStore/Services/EmailService.cs - Resend
Other components
- Customer
Connections 36
- Customer → Product Browsing: browses
- Product Browsing → Store Repository: queries products
- Store Repository → Store Database: reads
- Customer → Cart Controller: updates cart
- Cart Controller → Store Repository: looks up product
- Cart Controller → Cart Logic: changes cart
- Cart Controller → Persistent Cart: loads or saves
- Cart Controller → Session Cart: loads or saves
- Persistent Cart → Store Database: persists
- Customer → Checkout: checks out
- Checkout → Persistent Cart: loads cart
- Checkout → Session Cart: loads cart
- Checkout → Cart Logic: totals cart
- Checkout → Inventory: validates stock
- Checkout → Order Logic: creates order
- Checkout → Payment Service: initializes payment
- Checkout → Order Repository: creates order
- Payment Service → PayBridge: requests payment
- PayBridge → Payment Webhook: sends notification
- Payment Webhook → Payment Service: verifies payment
- Payment Webhook → Order Repository: updates order
- Order Repository → Store Database: persists
- Customer → Status Poller: checks status
- Status Poller → Order Status API: requests status
- Order Status API → Order Repository: reads order
- Customer → Account Controller: manages account
- Account Controller → Account Service: handles identity
- Account Service → Identity Store: uses identity store
- Account Service → Persistent Cart: merges cart
- Product Admin → Product Services: manages products
- Product Admin → Image Service: manages images
- Image Service → Cloudinary: uploads or deletes
- Category Admin → Store Database: manages categories
- Order Admin → Order Repository: manages orders
- Order Notifications → Email Service: sends messages
- Email Service → Resend: delivers email