TITLE: Complete Laravel eCommerce System: Feature-Rich Online Store SEARCH DESCRIPTION: A self-hosted Laravel eCommerce system with catalog, cart, checkout, Bangladesh payment gateways, admin RBAC, reporting, and a browser-based web installer. LABELS: Laravel, ecommerce, PHP, Bangladesh, tutorial, open source ---
This is a self-hosted Laravel online store with catalog, cart, checkout, payments, admin panel, RBAC, reporting, and tools for Bangladesh addresses and local gateways, plus international options such as Stripe and PayPal. You host the app on your own server or VPS and control the code and database.
![]() |
| Complete Laravel eCommerce System |
Source code: github.com/needyamin/eCommerceLaravel
What This Project Is
Think of it as a full store and admin back office in one codebase. Customers browse products, use cart and checkout, and pay with configured gateways. Staff manage products, orders, coupons, settings, and roles from the admin area. Data lives in your database on your server — not inside a hosted SaaS platform.
Self-Hosted vs SaaS
| Self-hosted strengths | Trade-offs |
|---|---|
| You control code, data, and hosting. Deep customization for gateways, BD address fields, and themes. No per-order SaaS fee from the platform itself. | You handle updates, backups, SSL, and server security. Payment keys and test modes need careful setup. Scaling traffic depends on your infrastructure. |
Install and Web Installer
Typical flow: clone the repo, install PHP and JS dependencies, run the dev server, then open the browser installer to check PHP, connect the database, migrate tables, seed data, and create the admin user.
Commands
git clone https://github.com/needyamin/eCommerceLaravel cd eCommerceLaravel composer install npm install npm run build php artisan serve
Open http://localhost:8000/installer and complete the wizard. For local assets only, the README may use npm run dev; production builds use npm run build.
What the Installer Does
- Checks PHP version, extensions, and folder permissions
- Tests database connection and runs migrations
- Seeds sample data (optional paths depending on version)
- Creates the super admin and disables itself after success
Default demo login (change immediately on any real server): emailneedyamin@gmail.com, passwordneedyamin@gmail.com, role Super Admin. Set a unique password before going live.
Manual Install
Copy .env.example to .env, run php artisan key:generate, configure DB_*, then php artisan migrate --seed. Follow the project README for exact flags.
Storefront Features
- Catalog with categories, subcategories, and live search
- Guest and logged-in cart, wishlist
- Checkout with Bangladesh-style address (division, district, upazila)
- Coupons, coins/loyalty, referrals, reviews, newsletter
- Responsive Tailwind-oriented layouts
Admin Panel Features
- Dashboard with KPIs, charts, and date filters
- RBAC with 124+ granular permissions via Spatie Laravel Permission
- Products: multiple images, drag order, Quill descriptions, stock, sale pricing, advanced filters
- DataTables with server-side lists, CSV export, stock badges
- Orders, users, coupons, categories, multi-currency (BDT, USD, EUR, GBP)
- Gateway, shipping, tax, SMS/OTP settings
- Local or S3-compatible storage (R2, Spaces, Wasabi, B2)
- Site settings: SEO, schema, sitemap, CMS pages
- Backup/import and WordPress or Shopify product imports
Payment Gateways
Use sandbox or test keys until you go live. Switch credentials in admin and test a small real payment last.
| Gateway | Type | Notes |
|---|---|---|
| bKash | Mobile banking | Tokenized checkout API |
| Nagad | Mobile banking | Sandbox for testing |
| Rocket | Mobile banking | Sandbox for testing |
| SSL Commerz | Cards / local | Test store before production |
| Stripe | Cards | Test keys |
| PayPal | Online | Sandbox |
| COD | Cash on delivery | No API keys |
Dashboard and Analytics
- Revenue, orders, products, and customer cards
- Date range filters and sales charts
- Order status breakdown, recent orders, top products
- Low-stock alerts and period-over-period comparisons
Security and License
- Installer locked after successful setup
- CSRF, password hashing, sessions — Laravel defaults
- RBAC limits who can change orders, settings, or users
- License module: key validation, domain lock, periodic checks — read vendor docs before production
Production checklist: HTTPS, strong admin password,APP_DEBUG=false, secureAPP_KEY, restricted file permissions, regular backups, payment keys only in env.
What Gets Seeded After Install
Confirm exact counts in your database after install.
- 1 Super Admin and sample customer user
- 6 categories with subcategories
- 72 sample products, 216 images (3 per product)
- 4 currencies and sample coupons (WELCOME10, SAVE20, etc.)
- Bangladesh location data (divisions, districts, upazilas)
- 124+ permission rows and default CMS pages
Database and Themes
30+ tables cover users, admins, products, images, orders, cart, coupons, reviews, addresses, currencies, settings, roles, permissions, and locations. Two storefront themes ship with an admin switcher.
Backup and Import
- Export products to JSON or CSV; import backups
- WordPress (WXR/XML) and Shopify CSV product imports
- Modes: create new, update, or skip duplicates
Requirements and Tech Stack
| Area | Requirement |
|---|---|
| PHP | 8.2+ |
| Framework | Laravel 12 (verify in composer.json) |
| Database | MySQL, PostgreSQL, or SQLite |
| Node | 18+ for front-end build |
| Composer | Required |
Frontend: Bootstrap, Tailwind, DataTables, Chart.js, SweetAlert2, Select2, Quill. RBAC via Spatie Laravel Permission.
Recent Updates (2025)
- Advanced product filters and Select2 product search
- DataTables improvements (images, columns, buttons)
- Dashboard stats, charts, and date filtering
- Category and price/stock display tweaks
Who It Is For
- Small to medium shops with Bangladesh-focused checkout and gateways
- Developers wanting a full Laravel codebase to customize
- Stores needing multi-currency and multiple payment options
- Teams that need RBAC and import/export tooling
Troubleshooting
| Symptom | What to try |
|---|---|
| Installer won't open | Check URL rewrite, php artisan serve port, route cache, APP_URL |
| Database error | Verify DB_* in .env, user grants, MySQL running |
| 500 after deploy | Check storage and bootstrap/cache writable; run php artisan config:clear |
| Assets missing | Run npm run build per README |
| Payment test fails | Sandbox keys, callback URLs, HTTPS in production |
Conclusion
This project is a full-featured Laravel eCommerce starter: storefront, admin, payments, and operations tooling in one place. Success depends on solid hosting, safe credentials, tested payment modes, and regular backups — not only on installing the code once.
Clone the repo on GitHub and follow the README for the latest commands and setup steps.


(0) Comments on "Complete Laravel eCommerce System - Why eCommerce is Essential Today"
* Most comments will be posted if that are on-topic and not abusive