How mohammedabozied/bekam-api-public works
Bekam is an ASP.NET Core e-commerce API. Shoppers browse a catalog, maintain guest or signed-in carts, then proceed to orders and Stripe payments; account authentication and administrative catalog/role management are parallel capabilities. The graph follows the documented Onion layers and includes persistence, Redis carts, and background/email services. Only selected source was excerpted or indexed, so edges for unsampled controllers and integrations are limited to relationships the README explicitly documents.
Main entry points: ProductsController.cs Catalog API · AppDbContext.cs Commerce database · CartService.cs Cart and merge · AuthService.cs Auth workflows
Components 25
API surface
- Authentication API
Bekam.API/Controllers/AuthController.cs - Catalog API
Bekam.API/Controllers/ProductsController.cs - Category API
Bekam.API/Controllers/CategoriesController.cs - Cart API
Bekam.API/Controllers/CartController.cs - Orders API
Bekam.API/Controllers/OrdersController.cs - Payments API
Bekam.API/Controllers/paymentsController.cs - User administration
Bekam.API/Controllers/UsersController.cs - Role administration
Bekam.API/Controllers/RolesController.cs
Application workflows
- Product catalog
Bekam.Application/Services/Products/ProductService.cs - Category management
Bekam.Application/Services/Categories/CategoriesService.cs - Brand management
Bekam.Application/Services/Brands/BrandsService.cs - Cart and merge
Bekam.Application/Services/Cart/CartService.cs - Order workflows
Bekam.Application/Services/Orders/OrderService.cs - Payment processing
Bekam.Infrastructure/Services/PaymentService.cs
Identity and access
- Auth workflows
Bekam.Infrastructure/Services/AuthService.cs - User management
Bekam.Infrastructure/Services/Identity/UsersService.cs - Roles and permissions
Bekam.Infrastructure/Services/Identity/RolesService.cs
Infrastructure
- Commerce database
Bekam.Infrastructure/Persistence/_Data/AppDbContext.cs - Identity database
Bekam.Infrastructure/Persistence/_Identity/IdentityDbContext.cs - Redis cart store
Bekam.Infrastructure/Redis/CartRepository.cs - Background jobs
Bekam.Infrastructure/Services/HangfireJobService.cs - Email service
Bekam.Infrastructure/Services/EmailService.cs
Other components
- Shopper
- Administrator
- Stripe
Connections 28
- Shopper → Authentication API: authenticates
README.md - Shopper → Catalog API: browses
README.md - Shopper → Cart API: manages cart
README.md - Shopper → Orders API: checks out
README.md - Administrator → Catalog API: manages catalog
README.md - Administrator → Category API: manages categories
README.md - Administrator → User administration: manages users
README.md - Administrator → Role administration: manages access
README.md - Authentication API → Auth workflows: invokes
Bekam.API/Controllers/AuthController.cs - Auth workflows → Identity database: uses identity
Bekam.Infrastructure/Services/AuthService.cs - Auth workflows → Background jobs: enqueues mail
Bekam.Infrastructure/Services/AuthService.cs - Background jobs → Email service: dispatches
README.md - User administration → User management: invokes
Bekam.Infrastructure/Services/Identity/UsersService.cs - Role administration → Roles and permissions: invokes
Bekam.API/Controllers/RolesController.cs - User management → Identity database: queries
Bekam.Infrastructure/Services/Identity/UsersService.cs - Catalog API → Product catalog: routes catalog
README.md - Category API → Category management: invokes
Bekam.API/Controllers/CategoriesController.cs - Product catalog → Commerce database: persists catalog
Bekam.Application/Services/Products/ProductService.cs - Category management → Commerce database: persists categories
Bekam.Application/Services/Categories/CategoriesService.cs - Administrator → Brand management: manages brands
README.md - Catalog API → Brand management: routes brand operations
README.md - Cart API → Cart and merge: routes cart operations
README.md - Cart and merge → Redis cart store: reads and writes
Bekam.Application/Services/Cart/CartService.cs - Cart and merge → Commerce database: looks up products
Bekam.Application/Services/Cart/CartService.cs - Orders API → Order workflows: routes order operations
README.md - Order workflows → Commerce database: persists orders
README.md - Payments API → Payment processing: routes payment operations
README.md - Payment processing → Stripe: processes payments
README.md