How pratik0192/makextrab2b works
This is a Next.js wholesale-commerce and business-operations application: it combines a public product catalogue and enquiry entry points with administrative and sales workspaces for leads, orders, warehouse dispatch, and invoicing. The sampled code shows server-side route handling, shared persistence, tax calculation, and invoice-document generation. The README is only the generic Next.js starter, so capability details and most page-to-endpoint relationships come from the repository tree; those connections are not asserted where no relationship was shown.
Main entry points: leads/route.ts Lead intake · prisma.ts Application database · products/route.ts Product API · invoices.ts Invoice operations
Components 21
Catalogue and storefront
- Public catalogue
src/components/storefront - Wholesale enquiries
src/components/storefront/WholesaleEnquiryForm.tsx - Catalogue management
src/components/admin/CatalogueTaxonomyManager.tsx - Catalogue services
src/services - Product API
src/app/api/admin/products/route.ts
Sales and customer operations
- Lead intake
src/app/api/leads/route.ts - Lead workspaces
src/app/admin/leads - Sales workspaces
src/app/sales - Sales API
src/app/api/quotations
Warehouse and billing
- Warehouse operations
src/components/crm/WarehouseOperations.tsx - Warehouse API
src/app/api/warehouse - Invoice workspace
src/components/crm/InvoiceWorkspace.tsx - Invoice operations
src/lib/invoices.ts - Tax calculation
src/services/tax-calculation.service.ts
Application platform
- Authentication
src/lib/auth.ts - Admin authorization
src/lib/admin-api.ts - Application database
src/lib/prisma.ts - Cloudinary assets
- Invoice PDF rendering
src/lib/invoice-pdf.ts - HTTP client
src/lib/axios.ts
Other components
- Visitor
Connections 16
- Catalogue management → Catalogue services: loads and updates
src/components/admin/CatalogueTaxonomyManager.tsx - Wholesale enquiries → Lead intake: submits enquiry
- Lead intake → Application database: creates lead
src/app/api/leads/route.ts - Lead intake → Cloudinary assets: uploads documents
src/app/api/leads/route.ts - Lead intake → Authentication: rate limits
src/app/api/leads/route.ts - Product API → Application database: reads and writes
src/app/api/admin/products/route.ts - Product API → Admin authorization: requires admin
src/app/api/admin/products/route.ts - Product API → Cloudinary assets: uploads images
src/app/api/admin/products/route.ts - Admin authorization → Authentication: checks session
src/lib/admin-api.ts - Authentication → Application database: loads user
src/lib/auth.ts - Invoice workspace → HTTP client: sends requests
src/components/crm/InvoiceWorkspace.tsx - Invoice workspace → Warehouse operations: renders dispatch invoicing
src/components/crm/InvoiceWorkspace.tsx - Invoice operations → Tax calculation: calculates dispatch tax
src/lib/invoices.ts - Invoice operations → Invoice PDF rendering: renders invoice PDF
src/lib/invoices.ts - Invoice operations → Cloudinary assets: stores PDF
src/lib/invoices.ts - Tax calculation → Application database: loads billing data
src/services/tax-calculation.service.ts