TITLE: Mondal's E-Commerce: Laravel 13 Multi-Vendor Marketplace Guide SEARCH DESCRIPTION: Mondal's E-Commerce is a Laravel 13 multi-vendor marketplace with vendor dashboards, admin payouts, REST API, plugins, and Docker deployment—built by ANSNEW TECH. LABELS: Laravel, ecommerce, marketplace, PHP, open source, tutorial ---
Mondal's E-Commerce is a production-oriented multi-vendor marketplace built with Laravel 13 and PHP 8.3+. Multiple sellers run stores under one platform; customers shop on a unified storefront; administrators govern users, catalog, orders, payouts, and settings. The codebase runs locally, in Docker, or on Ubuntu with scripted deploys.
![]() |
| Mondal's E-Commerce — Laravel storefront and admin |
Developed by ANSNEW TECH, the project uses MVC with service classes, Spatie Laravel Permission for roles, a modular plugins folder, Laravel Sanctum for API tokens, Vite for front-end assets, and optional Docker Compose or Kubernetes (K3s) deployment examples. Source code: github.com/needyamin/mondals-ecommerce
What is Mondal's E-Commerce?
It is a full marketplace engine, not a single-store demo. Vendors apply or are onboarded by admin; products and orders tie to vendors where relevant; the platform owner oversees operations through a dedicated admin panel and reporting.- Multi-vendor catalog and vendor dashboards
- Customer storefront: browse, cart, checkout, orders, profile, wishlist
- Central admin: catalog, orders, users, vendors, payouts, CMS, themes, plugins
- REST API v1 under
/api/v1(Sanctum) for mobile or headless clients - Extensible plugins and themes under
plugins/andresources/themes/
Architecture
- Presentation: Blade views, Tailwind-oriented UI (Vite:
resources/css,resources/js) - Application: controllers, services (checkout, cart), helpers for business math, media, theme
- Data: MySQL via Eloquent, migrations, factories, seeders
- Extensions: first-party plugins autoloaded from
composer.json
Roles
- Customer — storefront, cart, checkout, account, orders, wishlist
- Vendor — products, orders, settings under
/vendor - Staff — limited back-office tasks
- Admin — full platform management, reports, plugins, themes, CMS
Storefront and Customer
- Home, product listing, product detail, categories
- Shopping cart, coupons, checkout, order confirmation
- Registration, login, customer dashboard, orders, wishlist
Orders and Payments
- Order lifecycle, status history, admin order tools
- COD and gateway plugins (e.g. bKash when enabled)
- Vendor earnings and admin payouts workflow
Vendor Panel
- Registration flow, dashboard, CRUD for own products
- Orders: list, detail, advance fulfillment workflow
- Earnings, payouts, vendor settings
Admin Panel
- Dashboard, products, categories, brands, coupons, orders, users, vendors
- Vendor approve, reject, suspend, commission overrides
- Reports, payouts, CMS pages, banners, site settings
- Theme upload and activation, storage settings, plugin management
- Database notifications for new orders and vendor applications
Bundled Plugins
Enable these from the admin UI after install:- bKash Payment — payment integration
- Flat Rate Shipping — shipping rules
- Pathao — logistics integration
- IP Blocking — access control
- Product Reviews — product ratings
- Marketing and Tracking — pixels and marketing settings
Technology Stack
| Layer | Details |
|---|---|
| Runtime | PHP 8.3+ |
| Framework | Laravel 13.x |
| Auth / API | Laravel Sanctum, REST /api/v1 |
| Permissions | spatie/laravel-permission |
| Frontend | Vite, npm |
| Database | MySQL (see .env.example) |
| Deployment | Docker Compose, scripts/setup-server.sh, scripts/deploy.sh, optional k8s/ |
REST API (v1)
JSON endpoints under /api/v1 cover auth, categories, products, cart, checkout, orders, wishlist, and addresses. User routes require Sanctum tokens.
- Public: register, login, categories, product list and detail by slug
- Authenticated: profile, addresses, orders, wishlist, cart CRUD, coupons, checkout, vendor apply
- Stores:
GET /api/v1/storesandGET /api/v1/stores/{slug}
The API shares the same backend as the Blade storefront, suitable for mobile apps or SPAs.
Domain Model
- Users — authentication, profile, Spatie roles (customer, vendor, staff, admin)
- Vendors — store profile, slug, commission, approval status; products belong to vendors
- Products — categories, brands, variants, inventory, pricing, marketplace approval fields
- Orders — line items with price snapshots, status history, payment and shipping fields
- Money flow — vendor earnings from order lines; admin payouts to settle seller balances
- Coupons — percentage, fixed, or free-shipping discounts at checkout
Key Routes
Storefront
/,/products,/product/{slug}— home, catalog, product detail/cart,/checkout,/checkout/place-order— cart and checkout/order/confirmation/{orderNumber}— order confirmation/stores,/stores/{slug}— vendor storefront directory/login,/register,/register/vendor— auth and seller signup/customer/*— dashboard, orders, profile, wishlist for logged-in customers
Admin and Vendor
/vendor/*— seller dashboard, products, orders, earnings, payouts/admin/*— platform management, exports, invoices, notifications
Repository Layout
mondals-ecommerce/ ├── app/ Controllers, Models, Services, Helpers ├── database/ migrations, seeders ├── docker/ Docker Compose config ├── k8s/ optional Kubernetes manifests ├── plugins/ bKash, Pathao, reviews, etc. ├── resources/ views, themes, css/js ├── routes/ web.php, api.php ├── scripts/ setup-server.sh, deploy.sh └── storage/
Setup and Deployment
Local
git clone https://github.com/needyamin/mondals-ecommerce.git cd mondals-ecommerce composer install && npm install && npm run build cp .env.example .env && php artisan key:generate php artisan migrate --seed && php artisan storage:link php artisan serve
Docker
cp .env.example .env docker compose up -d --build docker compose exec app php artisan migrate --seed
Default ports: app http://localhost:8000, phpMyAdmin 8088, MySQL 3388.
Ubuntu Server
Run scripts/setup-server.sh, then ./deploy.sh for Docker-based deploys. Optional GitHub Actions deploys over SSH via Cloudflare Tunnel.
Plugins and Themes
Plugins live under plugins/<name>/ with PSR-4 autoload. Admins can upload, install, enable, disable, and configure each plugin without forking core code. Themes upload and activate from the admin panel for white-label or seasonal storefront skins.
Business Logic
Shared helpers in app/Helpers/business_calculation.php handle cart totals, tax, shipping, coupons, and vendor commission so storefront, checkout, and reporting stay consistent.
Security
- CSRF on web forms; role middleware for admin, vendor, and active users
- Validated requests, hashed passwords, Sanctum for API
- Secrets in
.envonly — never commit production credentials
Demo Data
Running php artisan migrate --seed populates roles, users, vendors, products, orders, CMS pages, and menus. Check README.md for default login credentials and change them before any public deployment.
Conclusion
Mondal's E-Commerce is a cohesive Laravel 13 marketplace with multi-role access, vendor economics, admin tooling, plugins, REST API, and deployment paths from local Docker to server scripts and optional Kubernetes. It suits learning marketplace patterns, portfolio demos, or as a base for regional multi-vendor launches with local payment and shipping plugins.
Clone and explore the project on GitHub.


(0) Comments on "Mondal’s E-Commerce: Advanced Multi-Vendor Laravel Marketplace System (Full Project)"
* Most comments will be posted if that are on-topic and not abusive