Skip to content

Ecommerce system written in Laravel 12 / PHP 8.4 using Filament 4.0 and Livewire. Online shop system alternative to Magento or WooCommerce or Shopify or CubeCart etc

Notifications You must be signed in to change notification settings

liberu-ecommerce/ecommerce-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

851 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Liberu Ecommerce

License: MIT Open Source Love

Welcome to Liberu, our visionary open-source initiative that marries the power of Laravel 12, PHP 8.5 and Filament 5.2 to redefine the landscape of web development.

Contact us on WhatsApp YouTube Facebook Instagram X LinkedIn GitHub

Install Tests Docker Codecov

License: MIT

A modular, production-ready e-commerce platform built with Laravel, Livewire and Filament. Designed for extensibility and fast developer onboarding.

  • PHP · Laravel · Livewire · Filament

Quick start (local)

Requirements: PHP 8.3+, Composer, a database (MySQL / MariaDB / Postgres). Docker is optional.

  1. Clone and install

    git clone https://github.com/liberu-ecommerce/ecommerce-laravel.git
    cd ecommerce-laravel
    composer install
    cp .env.example .env
    php artisan key:generate
  2. Configure .env

    • Update database settings.
    • Add payment and dropshipping keys (example below for Stripe and DropXL):
    STRIPE_KEY=pk_test_xxx
    STRIPE_SECRET=sk_test_xxx
    STRIPE_WEBHOOK_SECRET=whsec_xxx
    DROPXL_API_KEY=Bearer xxx
    DROPXL_API_URL=https://api.dropxl.com
    
  3. Migrate and seed

    php artisan migrate --seed
  4. Serve locally

    php -S 127.0.0.1:8000 -t public
    # or use Sail/Docker if you prefer
    # ./vendor/bin/sail up -d

Stripe setup and testing

This project uses a server-side Stripe integration via stripe/stripe-php. To enable:

  1. Add keys to .env (see above).
  2. Use Stripe test cards in checkout (example):
    • Card number: 4242 4242 4242 4242
    • Any future expiry, any CVC, any ZIP
  3. Webhooks: if you use a local webhook helper (stripe CLI) set STRIPE_WEBHOOK_SECRET and configure webhooks to point to /stripe/webhook if enabled.

Dropshipping (DropXL)

DropXL integration is configurable via config/dropshipping.php and expects DROPXL_API_KEY and DROPXL_API_URL in .env.

On checkout, check "Ship directly to recipient (Drop shipping)" to select a supplier (DropXL is available out of the box). Supplier order placement happens after a successful payment and orders will include supplier_id and supplier_reference.

For local testing, point DROPXL_API_URL to a mock endpoint and return a success JSON to avoid hitting production APIs.


Additional setup notes

  • After pulling the latest changes, run composer install to install new dependencies (including Stripe PHP SDK):
composer install
  • If you rely on queued supplier placement (recommended), run a queue worker locally:
php artisan queue:work --tries=3

(or use php artisan queue:listen / Horizon if configured)


Quick smoke-tests

Stripe (checkout flow)

  1. Ensure .env contains STRIPE_KEY and STRIPE_SECRET.
  2. Start the app and queue worker (if using queued supplier placement).
  3. Add a product to cart and go through the normal checkout flow (use the full checkout page in the app).
  4. Choose Stripe as payment method and enter test card: 4242 4242 4242 4242. Complete checkout.
  5. Expected: payment succeeds, order status becomes paid, supplier job queued if dropshipping selected.

DropXL (dropshipping)

  1. Set DROPXL_API_URL to a mock endpoint (or real DropXL credentials if available).
  2. For local mocks, return successful JSON:
{ "success": true, "data": { "id": "dropxl-123", "reference": "DLX-123" } }
  1. Complete a checkout using the Drop shipping option. Ensure orders.supplier_id and orders.supplier_reference are set after the queued job runs.

Troubleshooting

  • If orders are stuck with supplier_queued, verify the queue worker is running and check storage/logs/laravel.log for job errors.
  • If Stripe charges fail: validate STRIPE_SECRET in .env, confirm the publishable key is present in config/services.php, and check the logs for Stripe API errors.

What’s included

  • Livewire cart & checkout components
  • Shipping methods with server-side calculation and drop-shipping premium
  • Payment gateway factory with Stripe and PayPal implementations
  • Dropshipping service with supplier transformation for DropXL
  • Order persistence and order item creation

Our projects

The Liberu ecosystem contains a number of companion repositories and packages that extend or demonstrate functionality used in this boilerplate. Below is a concise, professional list of those projects with quick descriptions — follow the links to learn more or to contribute.

Project Repository Short description
Accounting liberu-accounting/accounting-laravel Accounting and invoicing features tailored for Laravel applications.
Automation liberu-automation/automation-laravel Automation tooling and workflow integrations for Laravel projects.
Billing liberu-billing/billing-laravel Subscription and billing management integrations (payments, invoices).
Boilerplate (core) liberusoftware/boilerplate Core starter and shared utilities used across Liberu projects.
Browser Game liberu-browser-game/browser-game-laravel Example Laravel-based browser game platform and mechanics.
CMS liberu-cms/cms-laravel Content management features and modular page administration.
Control Panel liberu-control-panel/control-panel-laravel Administration/control-panel components for managing services.
CRM liberu-crm/crm-laravel Customer relationship management features and integrations.
E‑commerce liberu-ecommerce/ecommerce-laravel E‑commerce storefront, product and order management.
Genealogy liberu-genealogy/genealogy-laravel Family tree and genealogy features built on Laravel.
Maintenance liberu-maintenance/maintenance-laravel Scheduling, tracking and reporting for maintenance tasks.
Real Estate liberu-real-estate/real-estate-laravel Property listings and real-estate management features.
Social Network liberu-social-network/social-network-laravel Social features, profiles, feeds and messaging for Laravel apps.

If you maintain or use one of these projects and would like a more detailed description or a different categorisation, open an issue or submit a pull request and we'll update the list. Contributions and cross-repo collaboration are warmly encouraged.


Contributing

Fork → create a focused branch → open a PR against main. Include tests for new behavior. CI runs on push; ensure install and tests workflows pass.


License

MIT — see the LICENSE file.

If you'd like CLI commands, tests, or example API payloads added to the README, tell me which sections to expand.

Advanced Features (Latest from Shopify & Magento 2)

This platform now includes enterprise-grade features inspired by the latest Shopify and Magento 2 (Adobe Commerce) releases:

Customer Intelligence

  • Customer Segmentation - Target customers based on behavior, LTV, and purchase history with rule-based conditions
  • Customer Analytics & LTV - Track lifetime value, retention scores, and predictive analytics
  • Customer Metrics Dashboard - Comprehensive customer behavior tracking and analysis

AI-Powered Personalization

  • Product Recommendations - Collaborative filtering, personalized, trending, and "also bought" suggestions
  • Product Interaction Tracking - Track views, cart adds, purchases for better insights
  • Recommendation Engine - Multiple recommendation types with scoring algorithms

Product Management

  • Product Taxonomy - Hierarchical categorization with custom attributes for better organization
  • Product Performance Analytics - Track views, conversions, and return rates per product
  • Multi-location Inventory - Advanced inventory management across multiple locations

Marketing & Conversion

  • A/B Testing Framework - Built-in testing with variant assignment and conversion tracking
  • Abandoned Cart Recovery - Automated campaigns with email/SMS triggers and discount codes
  • Conversion Funnel Analytics - Track customer journey and optimize conversion paths

Customer Experience

  • Gift Registry - Complete registry system for weddings, baby showers, and other events
  • Loyalty & Rewards Program - Points, tiers, and reward redemptions (from WooCommerce features)
  • B2B Wholesale Pricing - Tiered pricing, quote requests, and wholesale groups (from WooCommerce features)

Operations

  • Product Bundles - Create product kits with special pricing (from WooCommerce features)
  • Refund & Return Management - Full RMA system with inventory restocking (from WooCommerce features)
  • Multi-currency Support - Currency management with exchange rates (from WooCommerce features)
  • Tax Management - Location-based tax calculation (from WooCommerce features)

📚 Detailed Documentation: See SHOPIFY_MAGENTO_FEATURES.md and WOOCOMMERCE_FEATURES.md for complete feature guides.

Console Commands

# Calculate customer segments
php artisan segments:calculate

# Generate product recommendations
php artisan recommendations:generate

# Update customer metrics (LTV, retention, etc.)
php artisan metrics:update-customers

Admin Panel

Filament admin resources are available for managing:

  • Customer Segments (/admin/customer-segments)
  • Gift Registries
  • A/B Tests
  • Cart Recovery Campaigns
  • And all other features...

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 12

Languages