How fahim-khandakar/seller-mama-backend works
Seller Mama is a commerce backend exposing versioned Express APIs for authentication, catalog management, coupons, orders, and users. Requests enter through the application and route registry, then domain controllers invoke services that perform domain work; services use Mongoose models and shared query, token, and media utilities. The order service references product, coupon, and user data. The README is empty, and route wiring, database connection details, and several listed modules were not excerpted, so those links are omitted rather than inferred.
Main entry points: product.service.ts Product Service · order.service.ts Order Service · QueryBuilder.ts Query Builder · app.ts Express App
Components 26
API Platform
- Express App
src/app.ts - API Routes
src/app/routes/index.ts - Error Handling
src/app/middlewares/globalErrorHandler.ts
Identity & Users
- Auth Controller
src/app/modules/auth/auth.controller.ts - Auth Service
src/app/modules/auth/auth.service.ts - User Controller
src/app/modules/user/user.controller.ts - User Service
src/app/modules/user/user.service.ts - User Model
src/app/modules/user/user.model.ts
Catalog
- Category Management
src/app/modules/Category/category.service.ts - Main Category Management
src/app/modules/Main Category/mainCategory.service.ts - Type Management
src/app/modules/Type/type.service.ts - Product Controller
src/app/modules/product/product.controller.ts - Product Service
src/app/modules/product/product.service.ts - Product Model
src/app/modules/product/product.model.ts
Commerce Operations
- Coupon Controller
src/app/modules/coupon/coupon.controller.ts - Coupon Service
src/app/modules/coupon/coupon.service.ts - Coupon Rules
src/app/modules/coupon/coupon.utils.ts - Order Controller
src/app/modules/order/order.controller.ts - Order Service
src/app/modules/order/order.service.ts - Order Model
src/app/modules/order/order.model.ts
Shared Services
- Query Builder
src/utils/QueryBuilder.ts - User Tokens
src/utils/userTokens.ts - Cloudinary Media
src/config/cloudinary.config.ts - Email Sender
src/utils/sendEmail.ts
Other components
- API Client
- MongoDB
Connections 27
- API Client → Express App: sends requests
src/app.ts - Express App → API Routes: mounts API
src/app.ts - Express App → Error Handling: handles errors
src/app.ts - Auth Controller → Auth Service: invokes
src/app/modules/auth/auth.controller.ts - Auth Controller → User Tokens: creates tokens
src/app/modules/auth/auth.controller.ts - Auth Service → User Model: reads users
src/app/modules/auth/auth.service.ts - Auth Service → Email Sender: sends email
src/app/modules/auth/auth.service.ts - User Controller → User Service: invokes
src/app/modules/user/user.controller.ts - User Service → User Model: accesses users
src/app/modules/user/user.service.ts - Category Management → Query Builder: builds queries
src/app/modules/Category/category.service.ts - Main Category Management → Query Builder: builds queries
src/app/modules/Main Category/mainCategory.service.ts - Type Management → Query Builder: builds queries
src/app/modules/Type/type.service.ts - Product Controller → Product Service: invokes
src/app/modules/product/product.controller.ts - Product Service → Product Model: queries products
src/app/modules/product/product.service.ts - Product Service → Query Builder: builds queries
src/app/modules/product/product.service.ts - Product Service → Cloudinary Media: manages media
src/app/modules/product/product.service.ts - Product Service → Main Category Management: uses category model
src/app/modules/product/product.service.ts - Product Service → Category Management: uses category model
src/app/modules/product/product.service.ts - Product Service → Type Management: uses type model
src/app/modules/product/product.service.ts - Coupon Controller → Coupon Service: invokes
src/app/modules/coupon/coupon.controller.ts - Coupon Controller → Coupon Rules: uses coupon rules
src/app/modules/coupon/coupon.controller.ts - Order Controller → Order Service: invokes
src/app/modules/order/order.controller.ts - Order Service → Order Model: queries orders
src/app/modules/order/order.service.ts - Order Service → Product Model: uses product data
src/app/modules/order/order.service.ts - Order Service → Coupon Rules: applies coupon rules
src/app/modules/order/order.service.ts - Order Service → User Model: uses user data
src/app/modules/order/order.service.ts - Order Service → Query Builder: builds queries
src/app/modules/order/order.service.ts