How dungtttd01702-coder/vamos-store works
VAMOS STORE is a server-rendered sneaker-commerce application. A shopper browses the catalog, manages a session or database cart, and submits a COD order; order placement validates stock and voucher rules inside a database transaction. Customers can manage accounts and orders, while administrators manage catalog, inventory, orders, vouchers, customers, and banners. The graph follows the documented MVC layers and sampled imports; some feature internals are represented by their enclosing directories because their source was not sampled.
Main entry points: routes HTTP routes · database.js Database access · app.js Express application · order.service.js Order lifecycle
Components 16
Web entry
- Express application
src/app.js - HTTP routes
src/routes - Pug pages
src/views/pages
Shopping
- Product browsing
src/controllers/product.controller.js - Catalog service
src/services/product.service.js - Product repository
src/models/repositories/product.repository.js - Cart management
src/controllers/cart.controller.js - Account access
src/controllers/auth.controller.js
Orders
- Checkout
src/controllers/checkout.controller.js - Order lifecycle
src/services/order.service.js - Customer orders
src/controllers/account.controller.js
Administration
- Admin operations
src/controllers/admin.controller.js
Shared infrastructure
- Session and access checks
src/middlewares/auth.middleware.js - Database access
src/config/database.js - Microsoft SQL Server
Other components
- Shopper or admin
Connections 23
- Shopper or admin → Express application: sends requests
README.md - Express application → HTTP routes: mounts routes
src/app.js - HTTP routes → Product browsing: dispatches product
src/routes/product.routes.js - HTTP routes → Cart management: dispatches cart
src/routes/cart.routes.js - HTTP routes → Account access: dispatches auth
src/routes/auth.routes.js - HTTP routes → Checkout: dispatches checkout
src/routes/checkout.routes.js - HTTP routes → Customer orders: dispatches account
src/routes/account.routes.js - HTTP routes → Admin operations: dispatches admin
src/routes/admin.routes.js - Product browsing → Catalog service: requests catalog
src/controllers/product.controller.js - Catalog service → Product repository: delegates queries
src/services/product.service.js - Product repository → Database access: queries through
src/models/repositories/product.repository.js - Cart management → Database access: reads and writes
src/controllers/cart.controller.js - Account access → Cart management: merges guest cart
src/controllers/auth.controller.js - Account access → Database access: checks and creates accounts
src/controllers/auth.controller.js - Checkout → Order lifecycle: places orders
src/controllers/checkout.controller.js - Customer orders → Order lifecycle: accesses orders
src/controllers/account.controller.js - Admin operations → Order lifecycle: updates order status
src/controllers/admin.controller.js - Admin operations → Database access: manages records
src/controllers/admin.controller.js - Order lifecycle → Database access: runs transactions
src/services/order.service.js - Database access → Microsoft SQL Server: connects and queries
src/config/database.js - Session and access checks → Database access: checks account status
src/middlewares/auth.middleware.js - Express application → Session and access checks: installs session context
src/app.js - Express application → Pug pages: renders server pages
README.md