WP eCommerce Core Plugin
A WordPress eCommerce plugin rebuilt from the ground up, using the architecture patterns that modern applications deserve.
At a Glance
| Architecture | Domain-Driven Design (DDD) with 4 layers |
| Database | 59 dedicated plugin tables — 32 commerce + 27 ERP (zero wp_postmeta abuse) |
| Admin Panel | Full React SPA — no page reloads |
| REST API | 300+ route registrations across 37 controllers |
| ERP | Native Invoicing, Inventory, Purchasing, Accounting, CRM |
| Payment Gateways | 10 built-in (2 free + 8 premium) |
| Courier Integrations | Geniki Taxydromiki, ELTA Courier (Beta), ACS Courier (Beta) |
| Marketplace Feeds | Skroutz.gr, BestPrice.gr |
| Modules | 40 built-in (17 stable, 2 recommended, 21 beta) |
| Code Protection | ionCube-encoded licensing + Ed25519 integrity verification + 15 distributed sentinels |
| Requirements | PHP 8.2+, WordPress 6.0+, MySQL 8.0+ / MariaDB 10.6+, ionCube Loader 14+ |
What Makes It Different
The Admin Experience
The admin interface is a full React SPA (Single Page Application):
- No page reloads — navigating between products, orders, and settings is instant
- Modern UI — clean design with cards, badges, and data visualization
- Drag-and-drop dashboard — rearrange KPI widgets, revenue charts, order status charts, top products, and recent orders
- Real-time interaction — adding items to an order, applying coupons, filtering products all feels responsive
KPI cards with period change indicators, revenue area chart with dual Y-axes, order status donut chart, top products/customers rankings, recent orders table, and a period selector (7d, 30d, 90d, 1 year) — all powered by a unified REST endpoint.
The Database Architecture
While WooCommerce stores products as blog posts with metadata scattered across wp_postmeta, WP eCommerce Core uses 59 dedicated custom tables (32 commerce + 27 ERP):
wp_ec_products— each product is a proper row with typed columnswp_ec_product_variants— variations with their own pricing, stock, images, and shipping datawp_ec_ordersandwp_ec_order_items— clean order storagewp_ec_customers— separate from WordPress userswp_ec_categories,wp_ec_attributes,wp_ec_attribute_terms— proper relational data- Plus tables for reviews, coupons, tax, shipping, payments, invoicing, inventory, purchasing, accounting, CRM, and more
When you search for "products under 50 EUR that are in stock in the Clothing category," the database answers that with simple, indexed queries instead of joining the same meta table against itself multiple times.
The schema is managed through a file-based migration system (similar to Laravel or Django) — versioned, trackable, and reversible.
DDD Architecture
The codebase follows Domain-Driven Design with four clear layers:
Domain → Business entities (Product, Order, Cart, Customer...)
Application → Business logic services (CartService, OrderService, CheckoutService...)
Infrastructure → Database repositories, migrations
Presentation → REST API controllers, Admin controller, Storefront renderer
A proper Dependency Injection container with auto-wiring ensures services are registered in Bootstrap and resolved cleanly. Business logic is testable in isolation, new features don't require touching unrelated code, and the codebase scales without turning into spaghetti.