How bouabidi/azure-ecommerce-platform works
Azure Commerce Platform is a full-stack shop: customers browse products, manage a cart, authenticate, and place orders; administrators manage products, images, and order status. The Angular app provides the user-facing flows, while NestJS controllers dispatch domain operations to services. The README also documents categories and image upload. Sampled source confirms several API dispatches and storage behavior; frontend-to-API wiring and most unsampled service internals are shown only where the tree and documented capabilities support the subsystem, not as speculative call chains.
Main entry points: app.routes.ts App routes · prisma.service.ts Prisma service · auth.service.ts Auth service · file-storage.service.ts File storage abstraction
Components 29
Angular storefront
- Angular app
apps/web/src/app/app.ts - App routes
apps/web/src/app/app.routes.ts - Product browsing
apps/web/src/app/features/products - Cart
apps/web/src/app/features/cart - Checkout and orders
apps/web/src/app/features/orders - Admin product tools
apps/web/src/app/features/admin/products - Auth screens
apps/web/src/app/features/auth - Cart local storage
apps/web/src/app/features/cart/services/cart-storage.service.ts - Token storage
apps/web/src/app/core/services/storage.service.ts
Identity and access
- Auth endpoints
apps/api/src/auth/controllers/auth.controller.ts - Auth service
apps/api/src/auth/services/auth.service.ts - User service
apps/api/src/users/users.service.ts - Refresh-token service
apps/api/src/auth/refresh-token/refresh-token.service.ts - Admin user endpoint
apps/api/src/users/admin.controller.ts
Commerce API
- Product endpoints
apps/api/src/products/controllers/products.controller.ts - Product service
apps/api/src/products/services/products.service.ts - Category API
apps/api/src/categories - Product image endpoints
apps/api/src/product-images/controllers/product-images.controller.ts - Image service
apps/api/src/product-images/services/product-images.service.ts - Order endpoints
apps/api/src/orders/controllers/orders.controller.ts - Order service
apps/api/src/orders/services/orders.service.ts
Persistence and storage
- Prisma service
apps/api/src/database/prisma.service.ts - PostgreSQL
- File storage abstraction
apps/api/src/product-images/storage/file-storage.service.ts - Local file storage
apps/api/src/product-images/storage/local-file-storage.service.ts - Azure Blob storage
apps/api/src/product-images/storage/azure-blob-storage.service.ts
Other components
- Shopper
- Administrator
- Azure Blob
Connections 26
- Shopper → Angular app: uses
- Administrator → Angular app: uses
- Angular app → App routes: loads routes
- App routes → Product browsing: routes to
- App routes → Cart: routes to
- App routes → Auth screens: routes to
- App routes → Admin product tools: routes to
- App routes → Checkout and orders: routes to
- Cart → Cart local storage: persists cart
- Auth screens → Token storage: stores tokens
- Auth endpoints → Auth service: dispatches
- Auth service → User service: looks up users
- Auth service → Refresh-token service: manages tokens
- Product endpoints → Product service: dispatches
- Order endpoints → Order service: dispatches
- Product image endpoints → Image service: dispatches
- Product service → Prisma service: uses database
- Order service → Prisma service: uses database
- User service → Prisma service: uses database
- Refresh-token service → Prisma service: uses database
- Prisma service → PostgreSQL: reads and writes
- Image service → File storage abstraction: stores images
- File storage abstraction → Local file storage: selects provider
- File storage abstraction → Azure Blob storage: selects provider
- Azure Blob storage → Azure Blob: uploads blobs
- Admin user endpoint → User service: dispatches