sCommerce for Evolution CMS
Welcome to sCommerce!
sCommerce is a comprehensive e-commerce solution designed specifically for Evolution CMS. It provides a complete framework for building online stores with products, categories, orders, payments, inventory management, and much more.
Whether you need a simple product catalog or a complex multi-vendor marketplace, sCommerce gives you the tools to create powerful e-commerce experiences with full control over your business logic and customer data.
👉 Start with Getting Started or explore Developer Guide.
Key Features
✅ Product Management
- Complete product catalog - Products with variants, attributes, and specifications
 - Category management - Hierarchical category structure with unlimited depth
 - Product variants - Size, color, material, and custom attribute combinations
 - Inventory tracking - Real-time stock management with low stock alerts
 - Product images - Multiple images per product with gallery support
 - SEO optimization - Meta tags, URLs, and structured data for search engines
 - Bulk operations - Import/export products via Excel/CSV files
 
✅ Order Management
- Order processing - Complete order lifecycle from cart to delivery
 - Order status tracking - Pending, processing, shipped, delivered, cancelled
 - Order history - Complete customer order history and admin order management
 - Order notifications - Email notifications for order status changes
 - Order analytics - Sales reports and order statistics
 - Order search - Advanced filtering and search capabilities
 
✅ Payment Integration
- Multiple payment methods - Credit cards, PayPal, bank transfers, and more
 - Payment gateways - Integration with popular payment processors
 - Secure payments - PCI-compliant payment processing
 - Payment status tracking - Real-time payment status updates
 - Refund management - Process refunds and returns
 - Payment analytics - Payment method performance and success rates
 
✅ Customer Management
- Customer accounts - Registration, login, and profile management
 - Customer groups - VIP customers, wholesale, and custom pricing
 - Address book - Multiple shipping and billing addresses
 - Order history - Complete purchase history and order tracking
 - Customer communication - Email notifications and marketing tools
 - Customer analytics - Purchase behavior and customer insights
 
✅ Shopping Cart & Checkout
- Shopping cart - Persistent cart with session management
 - Guest checkout - Checkout without registration
 - Multiple currencies - Support for different currencies and exchange rates
 - Tax calculation - Automatic tax calculation based on location
 - Shipping calculation - Real-time shipping cost calculation
 - Coupon system - Discount codes and promotional offers
 
✅ Admin Interface
- Dashboard - Sales overview, recent orders, and key metrics
 - Product management - Easy product creation and editing
 - Order management - Process orders and update statuses
 - Customer management - View and manage customer accounts
 - Reports - Sales reports, product performance, and analytics
 - Settings - Configure store settings, payment methods, and shipping
 
✅ Developer Features
- REST API - Complete API for mobile apps and integrations
 - Webhooks - Real-time notifications for external systems
 - Custom fields - Extend products and orders with custom data
 - Event system - Hook into order and product events
 - Template system - Customizable product and category templates
 - Plugin architecture - Extend functionality with custom plugins
 
Architecture Overview
┌──────────────────────────────────────────┐
│            sCommerce Architecture        │
├──────────────────────────────────────────┤
│                                          │
│  ┌──────────────┐      ┌──────────────┐  │
│  │   Products   │      │    Orders    │  │
│  ├──────────────┤      ├──────────────┤  │
│  │ Categories   │─────>│ Order Items  │  │
│  │ Attributes   │─────>│ Payments     │  │
│  │ Inventory    │─────>│ Shipping     │  │
│  │ Images       │─────>│ Status       │  │
│  └──────────────┘      └──────────────┘  │
│         │                      │         │
│         v                      v         │
│   ┌──────────────────────────────────┐   │
│   │        sCommerce Core            │   │
│   ├──────────────────────────────────┤   │
│   │ - Product Management             │   │
│   │ - Order Processing               │   │
│   │ - Payment Integration            │   │
│   │ - Customer Management            │   │
│   │ - Cart & Checkout                │   │
│   └──────────────────────────────────┘   │
│         │                      │         │
│         v                      v         │
│  ┌──────────────┐      ┌──────────────┐  │
│  │   Frontend   │      │    Admin     │  │
│  │   Templates  │      │  Interface   │  │
│  ├──────────────┤      ├──────────────┤  │
│  │ Product      │      │ Dashboard    │  │
│  │ Category     │      │ Orders       │  │
│  │ Cart         │      │ Products     │  │
│  │ Checkout     │      │ Customers    │  │
│  └──────────────┘      └──────────────┘  │
│                                          │
└──────────────────────────────────────────┘
Quick Example
Create a Product
use Seiger\sCommerce\Facades\sCommerce;
use Seiger\sCommerce\Models\sProduct;
// Create a new product
$product = sProduct::create([
    'name' => 'Premium T-Shirt',
    'alias' => 'premium-t-shirt',
    'price_regular' => 29.99,
    'description' => 'High-quality cotton t-shirt',
    'category' => 1, // Category ID
    'published' => 1,
    'in_stock' => 100
]);
// Add product images
$product->images()->create([
    'image' => 'tshirt-main.jpg',
    'alt' => 'Premium T-Shirt Front View',
    'sort' => 1
]);
// Add product attributes
$product->attributes()->create([
    'attribute' => 'color',
    'value' => 'Blue',
    'price_modifier' => 0
]);
Process an Order
use Seiger\sCommerce\Models\sOrder;
use Seiger\sCommerce\Models\sOrderItem;
// Create order
$order = sOrder::create([
    'customer_id' => 1,
    'status' => 'pending',
    'total' => 59.98,
    'currency' => 'USD',
    'shipping_address' => [
        'name' => 'John Doe',
        'address' => '123 Main St',
        'city' => 'New York',
        'zip' => '10001',
        'country' => 'US'
    ]
]);
// Add order items
$order->items()->create([
    'product_id' => 1,
    'quantity' => 2,
    'price' => 29.99,
    'total' => 59.98
]);
// Process payment
$order->processPayment([
    'method' => 'credit_card',
    'transaction_id' => 'txn_123456',
    'status' => 'completed'
]);
// Update order status
$order->update(['status' => 'processing']);
Use the API
// Get products
$products = sCommerce::getProducts([
    'category' => 1,
    'published' => true,
    'in_stock' => true
]);
// Get product details
$product = sCommerce::getProduct('premium-t-shirt');
// Add to cart
sCommerce::addToCart($product->id, 2);
// Get cart
$cart = sCommerce::getCart();
// Create order
$order = sCommerce::createOrder([
    'items' => $cart->items,
    'customer_id' => 1,
    'shipping_address' => $address
]);
Use Cases
E-commerce Stores
- Online retail - Complete product catalogs with shopping cart
 - B2B sales - Wholesale pricing and customer groups
 - Digital products - Software, ebooks, and digital downloads
 - Subscription services - Recurring billing and subscription management
 - Multi-vendor marketplaces - Multiple sellers on one platform
 
Business Applications
- Inventory management - Track stock levels and reorder points
 - Sales reporting - Detailed analytics and performance metrics
 - Customer management - CRM integration and customer insights
 - Order fulfillment - Warehouse management and shipping
 - Financial reporting - Revenue tracking and tax reporting
 
Integration Scenarios
- ERP systems - Sync with enterprise resource planning
 - Accounting software - Export orders and financial data
 - Marketing tools - Customer data for email campaigns
 - Analytics platforms - E-commerce tracking and conversion
 - Mobile apps - API integration for mobile commerce
 
Requirements
- Evolution CMS 3.7+
 - PHP 8.3+
 - Composer 2.2+
 - One of: MySQL 8.0+ / MariaDB 10.5+ / PostgreSQL 10+ / SQLite 3.25+
 - sTask package for background processing (required for import/export and cache generation)
 
Installation
cd core
composer update
php artisan package:installrequire seiger/scommerce "*"
php artisan vendor:publish --tag=scommerce
php artisan migrate
See Getting Started for detailed installation instructions.
Performance
sCommerce is designed for high performance:
- Optimized queries - Efficient database queries with proper indexing
 - Caching system - Product and category caching for fast loading
 - Image optimization - Automatic image resizing and compression
 - CDN support - Content delivery network integration
 - Database optimization - Proper indexing and query optimization
 - Memory management - Efficient memory usage for large catalogs
 
Benchmarks
Typical performance on standard hardware:
| Operation | Speed | 
|---|---|
| Product listing | ~50ms | 
| Product details | ~30ms | 
| Cart operations | ~20ms | 
| Order creation | ~100ms | 
| Search results | ~80ms | 
Processing 10,000 products:
- Product listing: ~200ms
 - Category filtering: ~150ms
 - Search operations: ~300ms
 - Bulk operations: ~2 minutes
 
Performance varies based on catalog size and system resources.
Future Features
- Multi-language support - Full internationalization
 - Advanced analytics - Detailed sales and customer analytics
 - AI recommendations - Product recommendation engine
 - Mobile app - Native mobile application
 - Advanced shipping - Complex shipping rules and zones
 - Loyalty program - Points and rewards system
 - A/B testing - Product and page testing
 - Advanced reporting - Custom report builder
 - API v2 - Enhanced REST API
 - GraphQL support - Modern API query language
 
Community & Support
- Documentation: https://seiger.github.io/sCommerce
 - Issues: GitHub Issues
 - Discussions: GitHub Discussions
 - Author: Seiger
 - License: MIT
 
Contributing
Contributions are welcome! Please:
- Fork the repository
 - Create a feature branch
 - Make your changes
 - Write tests if applicable
 - Submit a pull request
 
License
sCommerce is open-source software licensed under the MIT license.
Credits
Developed and maintained by Seiger.