How prajan2425/mern-2083 works
This is an Express commerce backend with account authentication, product and user management, order fulfillment, and cash or Khalti payments; it also exposes server-rendered product pages. The main flow is a client request through server-mounted routes and controllers into services and MongoDB models, with optional payment, email, and image-upload integrations. The README is empty, and several route, service, and integration implementations were not sampled, so uncertain internal dispatch links are omitted.
Main entry points: server.js Express server · order.service.js Order service · user.service.js User service · auth.service.js Auth service
Components 28
HTTP entry
- Express server
src/server.js - Product routes
src/routes/product.route.js - Order routes
src/routes/order.route.js - User routes
src/routes/user.route.js - Auth routes
src/routes/auth.route.js - Page routes
src/routes/page.route.js
Commerce workflows
- Product controller
src/controllers/product.controller.js - Order controller
src/controllers/order.controller.js - Page controller
src/controllers/page.controller.js - Product service
src/services/product.service.js - Order service
src/services/order.service.js
Identity and access
- Auth controller
src/controllers/auth.controller.js - User controller
src/controllers/user.controller.js - Auth service
src/services/auth.service.js - User service
src/services/user.service.js - JWT middleware
src/middlewares/auth.js - JWT utility
src/utils/jwt.js
Data and integrations
- Product records
src/models/Products.js - Order records
src/models/Order.js - Payment records
src/models/Payment.js - User records
src/models/User.js - MongoDB connection
src/config/database.js - Khalti payment
src/utils/payment.js - Email utility
src/utils/email.js - Image uploader
src/utils/fileUploader.js
Other components
- Client
- Khalti gateway
- Cloudinary
Connections 27
- Client → Express server: sends requests
- Express server → Product routes: mounts
- Express server → Order routes: mounts
- Express server → User routes: mounts
- Express server → Auth routes: mounts
- Express server → Page routes: mounts
- Express server → JWT middleware: guards users/orders
- Express server → MongoDB connection: connects
- Express server → Cloudinary: connects
- Order controller → Order service: calls
- Product controller → Product service: calls
- Page controller → Product service: calls
- Auth controller → Auth service: calls
- Auth controller → JWT utility: creates token
- User controller → User service: calls
- JWT middleware → JWT utility: verifies token
- Order service → Order records: reads/writes
- Order service → Payment records: reads/writes
- Order service → User service: gets user
- Order service → Khalti payment: requests payment
- Khalti payment → Khalti gateway: processes payment
- Product service → Product records: reads/writes
- User service → User records: reads/writes
- User service → Auth service: registers user
- User service → Image uploader: uploads image
- Auth service → User records: reads/writes
- Auth service → Email utility: sends reset email