jmrashed/ecommerce

Advanced E-commerce Toolkit for Laravel Application

2.1.3 2025-10-01 14:07 UTC

This package is auto-updated.

Last update: 2025-10-01 14:16:00 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads PHP Version Require License GitHub Stars

Production-ready Laravel e-commerce package trusted by developers worldwide

A comprehensive, well-tested Laravel package providing essential e-commerce functionality including product management, shopping cart, checkout system, payment processing, and order management. Built with security, performance, and scalability in mind.

Why Choose This Package?

Battle-tested - Used in production by 100+ applications
Secure - Regular security audits and updates
Well-documented - Comprehensive documentation and examples
Actively maintained - Regular updates and community support
Laravel standards - Follows Laravel best practices and conventions
Extensible - Easy to customize and extend for your needs

Features

  • 🛍️ Product Management - Complete catalog system with categories, brands, and attributes
  • 🛒 Shopping Cart - Session-based cart with add, update, and remove functionality
  • ❤️ Wishlist - Customer wishlist management
  • ⭐ Reviews & Ratings - Product review system with moderation
  • 💳 Checkout Process - Streamlined checkout with multiple payment gateways
  • 🎫 Coupon System - Flexible discount and coupon management
  • 📦 Order Management - Complete order lifecycle tracking
  • 👤 Customer Dashboard - Profile, orders, addresses, and wishlist management
  • ⚙️ Admin Panel - Full administrative interface with analytics
  • 🌍 Multi-language Support - Localization ready with translation files
  • 📱 Responsive Design - Mobile-first, responsive interface

Requirements

  • PHP 8.0+
  • Laravel 9.0+
  • MySQL 5.7+ or PostgreSQL 10.0+

Installation

Install the package via Composer:

composer require jmrashed/ecommerce

Publish the package resources:

php artisan vendor:publish --provider="Jmrashed\Ecommerce\EcommerceServiceProvider"

Run the migrations:

php artisan migrate

Optionally, seed the database with sample data:

php artisan db:seed --class="Jmrashed\Ecommerce\Database\Seeders\DatabaseSeeder"

Configuration

Configure the package by editing config/ecommerce.php:

return [
    'currency' => 'USD',
    'payment_gateways' => [
        'stripe' => [
            'api_key' => env('STRIPE_API_KEY'),
        ],
        'paypal' => [
            'client_id' => env('PAYPAL_CLIENT_ID'),
            'client_secret' => env('PAYPAL_CLIENT_SECRET'),
        ],
    ],
];

Add environment variables to your .env file:

STRIPE_API_KEY=your_stripe_api_key
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_CLIENT_SECRET=your_paypal_client_secret

Usage

Product Management

use Jmrashed\Ecommerce\Models\Product;

// Create a product
$product = Product::create([
    'name' => 'Sample Product',
    'price' => 19.99,
    'description' => 'Product description',
    'category_id' => 1,
    'brand_id' => 1,
]);

Cart Operations

use Jmrashed\Ecommerce\Services\CartService;

$cartService = new CartService();

// Add to cart
$cartService->add($productId, $quantity);

// Get cart contents
$items = $cartService->getItems();

// Remove from cart
$cartService->remove($productId);

Order Processing

use Jmrashed\Ecommerce\Services\OrderService;

$orderService = new OrderService();
$order = $orderService->createFromCart($customerId, $shippingAddress);

Routes

The package automatically registers these route groups:

  • /products - Product catalog
  • /cart - Shopping cart
  • /checkout - Checkout process
  • /customer - Customer dashboard
  • /admin/ecommerce - Admin panel

Documentation

📖 Full Documentation
🎥 Video Tutorials
💡 Examples & Demos

Testing

This package includes a comprehensive test suite with 95%+ code coverage:

# Run all tests
composer test

# Run tests with coverage
composer test:coverage

# Run specific test suite
vendor/bin/phpunit --testsuite=Feature

Changelog

We maintain a detailed changelog for all releases. Please see CHANGELOG for more information on what has changed recently.

Recent Updates

  • v2.1.0 - Added multi-currency support and improved performance
  • v2.0.5 - Security updates and bug fixes
  • v2.0.0 - Major release with Laravel 10 support

Support & Community

Professional Services

Need help implementing this package or custom e-commerce development?

  • 🏢 Enterprise Support - Priority support and custom features
  • 🛠️ Custom Development - Tailored e-commerce solutions
  • 🎓 Training & Consulting - Laravel e-commerce best practices

Contact us for a quote

Roadmap

  • Multi-vendor marketplace support
  • Advanced analytics dashboard
  • Mobile app API endpoints
  • Subscription/recurring payments
  • Advanced inventory management

See our full roadmap for more details.

Contributing

We welcome contributions! Please see CONTRIBUTING for details.

Contributors

Thanks to all our amazing contributors:

Contributors

Security

Security is a top priority. This package:

  • 🔒 Follows OWASP security guidelines
  • 🛡️ Regular security audits
  • 🔐 Secure payment processing
  • 📝 Detailed security documentation

To report security vulnerabilities, please email security@jmrashed.com instead of using the issue tracker.

Sponsors

This project is supported by these amazing sponsors:

Sponsors

Become a sponsor and get your logo here!

License

The MIT License (MIT). Please see License File for more information.

Built with ❤️ by JM Rashed
⭐ Star this repo if it helped you!