How acideshan/full-stack-mern-project-multi-vendor-service-platform works
Practicum is a multi-vendor services marketplace: customers discover services, book and pay for orders, then track fulfillment and review vendors. Vendors manage services and bookings; admins oversee marketplace operations, analytics, and payments. The tree supports these product areas, while sampled source confirms routing, service-image uploads, order persistence and notifications, review operations, and payment processing. Several frontend-to-API connections are inferred from matching module names; unsampled implementation details are not treated as confirmed call paths.
Main entry points: server.ts Express API · paymentController.ts Payment operations · reviewController.ts Review operations · ServiceForm.jsx Service editor
Components 27
Marketplace frontend
- Web application
frontend/src/main.jsx - Service discovery
frontend/src/Pages/Services/Services.jsx - Service editor
frontend/src/Pages/Services/ServiceForm.jsx - Service API client
frontend/src/api/serviceApi.js - Image upload client
frontend/src/api/uploadApi.js
Bookings and payments
- Booking interface
frontend/src/Components/Shared/BookingModal.jsx - Order API client
frontend/src/api/orderApi.js - Payment interface
frontend/src/Components/Shared/PaymentModal.jsx - Payment API client
frontend/src/api/paymentApi.js
Marketplace operations
- Vendor dashboard
frontend/src/Pages/Dashboard/VendorDashboard.jsx - Admin dashboards
frontend/src/Pages/Dashboard/AdminDashboard.jsx - Coupon management
frontend/src/Components/Shared/AdminCouponManager.jsx
API and persistence
- Express API
backend/server.ts - Service routes
backend/routes/serviceRoutes.ts - Service operations
backend/controllers/serviceController.ts - Service records
backend/models/Service.ts - Upload operations
backend/controllers/uploadController.ts - Order operations
backend/controllers/orderController.ts - Order records
backend/models/Order.ts - Payment routes
backend/routes/paymentRoutes.ts - Payment operations
backend/controllers/paymentController.ts - Transactions
backend/models/Transaction.ts - Review operations
backend/controllers/reviewController.ts - Review records
backend/models/Review.ts - Email service
backend/utils/emailService.ts
Other components
- Customer
- Payment gateways
Connections 31
- Customer → Web application: uses
- Web application → Service discovery: routes to
- Service discovery → Service API client: requests listings
- Service API client → Express API: calls API
- Express API → Service routes: mounts routes
- Service routes → Service operations: dispatches
- Service operations → Service records: reads and writes
- Vendor dashboard → Service editor: opens editor
- Service editor → Service API client: submits service
- Service editor → Image upload client: uploads images
- Image upload client → Express API: calls API
- Express API → Upload operations: dispatches upload
- Customer → Booking interface: books service
- Booking interface → Order API client: submits booking
- Order API client → Express API: calls API
- Express API → Order operations: dispatches orders
- Order operations → Order records: reads and writes
- Order operations → Email service: sends notices
- Customer → Payment interface: pays order
- Payment interface → Payment API client: starts payment
- Payment API client → Express API: calls API
- Express API → Payment routes: mounts routes
- Payment routes → Payment operations: dispatches
- Payment operations → Transactions: records transactions
- Payment operations → Order records: updates payment status
- Payment operations → Payment gateways: processes payment
- Admin dashboards → Coupon management: manages coupons
- Customer → Review operations: submits review
- Review operations → Order records: checks order
- Review operations → Review records: reads and writes
- Review operations → Service records: references service