How samir-aljaber/greenmart works
GreenMart is an ASP.NET Core marketplace for shoppers, sellers, administrators, and delivery workers. The shopper path covers account access, product discovery, cart management, checkout, and order tracking; separate seller and delivery workflows manage fulfillment, while administrators oversee users. Product search and receipt generation are distinct service layers, with SQL-backed application state and SMTP email integration. The source index supports controller dependencies and service registration; several controllers and browser scripts are unsampled, so their detailed interactions are not asserted.
Main entry points: ApplicationDbContext.cs Data access · OrderController.cs Order management · ProductController.cs Product catalog · ProductSearchService.cs Product search
Components 24
Marketplace workflows
- Account access
application/Controllers/AccountController.cs - Product catalog
application/Controllers/ProductController.cs - Category browsing
application/Controllers/CategoryController.cs - Shopping cart
application/Controllers/CartController.cs - Cart count
application/ViewComponents/CartCountViewComponent.cs - Admin operations
application/Controllers/AdminController.cs - Storefront home
application/Controllers/HomeController.cs
Orders and delivery
- Checkout
application/Controllers/CheckoutController.cs - Order management
application/Controllers/OrderController.cs - Delivery operations
application/Controllers/DeliveryController.cs
Application services
- Product search
application/Services/ProductSearchService.cs - Receipt PDF
application/Services/OrderReceiptPdfService.cs - Email delivery
application/Services/SmtpEmailService.cs
Domain data
- Data access
application/Data/ApplicationDbContext.cs - Marketplace records
application/Models/Product.cs - Cart records
application/Models/Cart.cs - Order records
application/Models/Order.cs - Delivery records
application/Models/DeliveryAssignment.cs
Other components
- Shopper
- Seller
- Administrator
- Delivery worker
- SQL Server
- SMTP service
Connections 28
- Shopper → Account access: signs in
- Shopper → Product catalog: browses
- Shopper → Shopping cart: manages cart
- Shopper → Checkout: checks out
- Seller → Product catalog: manages listings
- Seller → Order management: handles orders
- Administrator → Admin operations: administers
- Delivery worker → Delivery operations: fulfills delivery
- Product catalog → Product search: queries
application/Controllers/ProductController.cs - Order management → Product search: queries
application/Controllers/OrderController.cs - Admin operations → Email delivery: sends email
application/Controllers/AdminController.cs - Order management → Receipt PDF: creates receipts
application/Controllers/OrderController.cs - Account access → Data access: reads and writes
application/Controllers/AccountController.cs - Product catalog → Data access: reads and writes
application/Controllers/ProductController.cs - Shopping cart → Data access: reads and writes
application/Controllers/CartController.cs - Checkout → Data access: reads and writes
application/Controllers/CheckoutController.cs - Order management → Data access: reads and writes
application/Controllers/OrderController.cs - Delivery operations → Data access: reads and writes
application/Controllers/DeliveryController.cs - Admin operations → Data access: reads and writes
application/Controllers/AdminController.cs - Cart count → Data access: reads
application/ViewComponents/CartCountViewComponent.cs - Product search → Data access: queries
application/Services/ProductSearchService.cs - Data access → Marketplace records: maps entities
application/Data/ApplicationDbContext.cs - Data access → Cart records: maps entities
application/Data/ApplicationDbContext.cs - Data access → Order records: maps entities
application/Data/ApplicationDbContext.cs - Data access → Delivery records: maps entities
application/Data/ApplicationDbContext.cs - Data access → SQL Server: uses provider
- Email delivery → SMTP service: sends mail
- Product search → Marketplace records: searches listings
application/Services/ProductSearchService.cs