How sorvisal/bookstore-ecommerce works
This is an ASP.NET e-commerce bookstore: customers browse books, manage an account and cart, place orders, and pay; administrators manage catalog, orders, users, and dashboard data. The graph includes catalog, cart, checkout/payment, and administration, with the EF data layer as the internal foundation. Source-index references support several connections, but many controllers and integration details were not excerpted; uncertain wiring is omitted rather than inferred.
Main entry points: ApplicationDbContext.cs EF data context · CheckoutController.cs Checkout · User.cs User model · CartController.cs Shopping cart
Components 33
Book catalog
- Browse books
Controllers/BooksController.cs - Categories
Controllers/CategoryController.cs - Publishers
Controllers/PublisherController.cs - Store home
Controllers/HomeController.cs - Book and catalog models
Models/Book.cs - Author models
Models/Author.cs
Customer shopping
- Account
Controllers/AccountController.cs - Shopping cart
Controllers/CartController.cs - Cart summary
ViewComponents/CartSummaryViewComponent.cs - Cart models
Models/ShoppingCart.cs - User model
Models/User.cs - Cart pricing
Services/Pricing.cs
Checkout and payments
- Checkout
Controllers/CheckoutController.cs - Customer orders
Controllers/Orderscontroller.cs - ABA confirmation
Services/AbaPaymentService.cs - KHQR payments
Services/Khqr/DynamicKhqrService.cs - PayWay client
Services/Khqr/PayWayLinkClient.cs - Payment status
Services/PaymentStatusHelper.cs - Order models
Models/Order.cs - Payment models
Models/Payment.cs - ABA integration
Services/AbaPaymentService.cs - Order totals
Services/OrderTotals.cs
Administration and data
- Catalog admin
Areas/Admin/Controllers/BooksController.cs - Order admin
Areas/Admin/Controllers/OrdersController.cs - User admin
Areas/Admin/Controllers/UsersController.cs - Dashboard
Areas/Admin/Controllers/DashboardController.cs - Author admin
Areas/Admin/Controllers/AuthorsController.cs - Category admin
Areas/Admin/Controllers/CategoriesController.cs - Publisher admin
Areas/Admin/Controllers/PublishersController.cs - Message admin
Areas/Admin/Controllers/MessagesController.cs - EF data context
Data/ApplicationDbContext.cs - Data initializer
Data/AppDbInitializer.cs
Other components
- Customer
Connections 29
- Customer → Browse books: browses
- Customer → Account: manages account
- Customer → Shopping cart: manages cart
- Customer → Checkout: checks out
- Browse books → Book and catalog models: uses
Controllers/BooksController.cs - Browse books → User model: loads reviews
Controllers/BooksController.cs - Shopping cart → Cart models: updates
Controllers/CartController.cs - Shopping cart → Book and catalog models: loads items
Controllers/CartController.cs - Shopping cart → Cart pricing: calculates prices
Controllers/CartController.cs - Account → User model: manages
Controllers/AccountController.cs - Checkout → KHQR payments: initiates KHQR
Controllers/CheckoutController.cs - Checkout → ABA integration: confirms payment
Controllers/CheckoutController.cs - Checkout → Order totals: calculates totals
Controllers/CheckoutController.cs - Checkout → Cart pricing: calculates prices
Controllers/CheckoutController.cs - KHQR payments → PayWay client: requests payment
Services/Khqr/DynamicKhqrService.cs - ABA integration → Order models: updates payment state
Services/AbaPaymentService.cs - ABA integration → Payment models: marks paid
Services/AbaPaymentService.cs - Order admin → ABA integration: marks paid
Areas/Admin/Controllers/OrdersController.cs - Order admin → Order models: manages orders
Areas/Admin/Controllers/OrdersController.cs - Catalog admin → Book and catalog models: manages books
Areas/Admin/Controllers/BooksController.cs - User admin → User model: manages users
Areas/Admin/Controllers/UsersController.cs - Dashboard → Order models: reads orders
Areas/Admin/Controllers/DashboardController.cs - Dashboard → User model: reads users
Areas/Admin/Controllers/DashboardController.cs - EF data context → Book and catalog models: maps entities
Data/ApplicationDbContext.cs - EF data context → Order models: maps entities
Data/ApplicationDbContext.cs - EF data context → Cart models: maps entities
Data/ApplicationDbContext.cs - EF data context → Payment models: maps entities
Data/ApplicationDbContext.cs - EF data context → User model: maps entities
Data/ApplicationDbContext.cs - Data initializer → EF data context: initializes data