## 1. Eliminate Unnecessary Settings Tabs ✅ **Before:** 13 tabs (too many!) **After:** 9 tabs (clean, focused) **Removed:** - ❌ Advanced (just redirected to WC Admin) - ❌ Integrations (just redirected to WC Admin) - ❌ System Status (just redirected to WC Admin) - ❌ Extensions (just redirected to WC Admin) **Kept:** - ✅ WooNooW (main settings) - ✅ Store Details - ✅ Payments (simplified WC UI) - ✅ Shipping & Delivery (simplified WC UI) - ✅ Tax (simplified WC UI) - ✅ Checkout - ✅ Customer Accounts - ✅ Notifications - ✅ Brand & Appearance **Rationale:** - Bridge tabs add clutter without value - Users can access WC settings from WC menu - Keep only WooNooW simplified UI - Match Shopify/marketplace patterns --- ## 2. Settings Pages Implementation Plan ✅ Created SETTINGS_PAGES_PLAN.md with detailed specs for 4 missing pages: ### A. WooNooW Settings - General settings (SPA mode, theme, items per page) - Performance (caching, preload) - Features (quick edit, bulk actions, shortcuts) - Developer (debug mode, API logs) ### B. Checkout Settings - Checkout options (guest checkout, account creation) - Checkout fields (company, address, phone) - Terms & conditions - Order processing (default status, auto-complete) ### C. Customer Accounts Settings - Account creation (registration, username/password generation) - Account security (strong passwords, 2FA) - Privacy (data removal, export, retention) - Account dashboard (orders, downloads, addresses) ### D. Brand & Appearance Settings - Store identity (logo, icon, tagline) - Brand colors (primary, secondary, accent) - Typography (fonts, sizes) - Admin UI (sidebar, breadcrumbs, compact mode) - Custom CSS **Timeline:** 3 weeks **Priority:** High (WooNooW, Checkout), Medium (Customers), Low (Brand) --- ## 3. Community Addon Support Strategy ✅ Updated PROJECT_BRIEF.md with three-tier addon support model: ### **Tier A: Automatic Integration** ✅ - Addons respecting WooCommerce bone work automatically - Payment gateways extending WC_Payment_Gateway - Shipping methods extending WC_Shipping_Method - HPOS-compatible plugins - **Result:** Zero configuration needed ### **Tier B: Bridge Snippets** 🌉 - For addons with custom injection - Provide bridge code snippets - Community-contributed bridges - Documentation and examples - **Philosophy:** Help users leverage ALL WC addons ### **Tier C: Essential WooNooW Addons** ⚡ - Build only critical/essential features - Indonesia Shipping, Advanced Reports, etc. - NOT rebuilding generic features - **Goal:** Save energy, focus on core **Key Principle:** > "We use WooCommerce, not PremiumNooW as WooCommerce Alternative. We must take the irreplaceable strength of the WooCommerce community." **Benefits:** - Leverage 10,000+ WooCommerce plugins - Avoid rebuilding everything - Focus on core experience - No vendor lock-in --- ## Summary **Settings:** 13 tabs → 9 tabs (cleaner, focused) **Plan:** Detailed implementation for 4 missing pages **Strategy:** Three-tier addon support (auto, bridge, essential) **Philosophy:** Simplify, leverage ecosystem, build only essentials.
200 lines
7.9 KiB
Markdown
200 lines
7.9 KiB
Markdown
|
||
|
||
|
||
# WooNooW — Modern Experience Layer for WooCommerce
|
||
|
||
## 1. Background
|
||
|
||
WooCommerce remains the world’s most widely used e‑commerce engine, but its architecture has become increasingly heavy, fragmented, and difficult to modernize.
|
||
The transition toward React‑based components (Cart/Checkout Blocks, HPOS, and new admin screens) introduces compatibility issues that render many existing addons obsolete.
|
||
Store owners and developers face a dilemma: migrate to new SaaS‑like platforms (SureCart, NorthCommerce) and lose their data, or stay with WooCommerce and endure performance and UX stagnation.
|
||
|
||
**Key pain points:**
|
||
- Checkout performance bottlenecks and delayed responses due to synchronous PHP operations (e.g., `wp_mail`).
|
||
- Legacy admin and product interfaces causing friction for daily operations.
|
||
- HPOS transition breaking legacy addons that query `wp_posts`.
|
||
- Increasing incompatibility between modern Woo Blocks and PHP‑based extensions.
|
||
|
||
---
|
||
|
||
## 2. Vision & Solution Direction
|
||
|
||
WooNooW acts as a **modern experience layer** for WooCommerce — enhancing UX, performance, and reliability **without data migration**.
|
||
It does not replace WooCommerce; it evolves it.
|
||
By overlaying a fast React‑powered frontend and a modern admin SPA, WooNooW upgrades the store experience while keeping full backward compatibility with existing data, plugins, and gateways.
|
||
|
||
**Core principles:**
|
||
1. **No Migration Needed** — Woo data stays intact.
|
||
2. **Safe Activate/Deactivate** — deactivate anytime without data loss.
|
||
3. **Hybrid by Default** — SSR + SPA islands for cart, checkout, and my‑account.
|
||
4. **Full SPA Toggle** — optional React‑only mode for performance‑critical sites.
|
||
5. **HPOS Mandatory** — optimized data reads/writes with indexed datastores.
|
||
6. **Compat Layer** — hook mirror + slot rendering for legacy addons.
|
||
7. **Async System** — mail and heavy actions queued via Action Scheduler.
|
||
|
||
---
|
||
|
||
## 3. Development Method & Phases
|
||
|
||
| Phase | Scope | Output |
|
||
|-------|--------|--------|
|
||
| **Phase 1** | Core plugin foundation, menu, REST routes, async email | Working prototype with dashboard & REST health check |
|
||
| **Phase 2** | Checkout Fast‑Path (quote, submit), cart hybrid SPA | Fast checkout pipeline, HPOS datastore |
|
||
| **Phase 3** | Customer SPA (My Account, Orders, Addresses) | React SPA integrated with Woo REST |
|
||
| **Phase 4** | Admin SPA (Orders List, Detail, Dashboard, Standalone Mode) | React admin interface with 3 modes: normal (wp-admin), fullscreen, standalone |
|
||
| **Phase 4.5** | Settings SPA (Store, Payments, Shipping, Taxes, Checkout) | Shopify-inspired settings UI reading WooCommerce structure; Setup Wizard for onboarding |
|
||
| **Phase 5** | Compatibility Hooks & Slots | Legacy addon support maintained |
|
||
| **Phase 6** | Packaging & Licensing | Release build, Sejoli integration, and addon manager |
|
||
|
||
All development follows incremental delivery with full test coverage on REST endpoints and admin components.
|
||
|
||
---
|
||
|
||
## 4. Technical Strategy
|
||
|
||
- **Backend:** PHP 8.2+, WooCommerce HPOS, Action Scheduler, Redis (object cache).
|
||
- **Frontend:** React 18 + TypeScript, Vite, React Query, Tailwind/Radix for UI.
|
||
- **Architecture:** Modular PSR‑4 autoload, REST‑driven logic, SPA hydration islands.
|
||
- **Performance:** Read‑through cache, async queues, lazy data hydration.
|
||
- **Compat:** HookBridge and SlotRenderer ensuring PHP‑hook addons still render inside SPA.
|
||
|
||
---
|
||
|
||
## 5. Settings Architecture Philosophy
|
||
|
||
WooNooW settings act as a **"better wardrobe"** for WooCommerce configuration:
|
||
|
||
**Core Principles:**
|
||
1. **Read WooCommerce Structure** — Listen to WC's registered gateways, shipping methods, and settings (the "bone structure")
|
||
2. **Transform & Simplify** — Convert complex WC settings into clean, categorized UI with progressive disclosure
|
||
3. **Enhance Performance** — Direct DB operations where safe, bypassing WC bloat (30s → 1-2s like Orders)
|
||
4. **Respect the Ecosystem** — If addon extends `WC_Payment_Gateway` or `WC_Shipping_Method`, it appears automatically
|
||
5. **No New Hooks** — Don't ask addons to support us; we support WooCommerce's existing hooks
|
||
|
||
**UI Strategy:**
|
||
- **Generic form builder** as standard for all WC-compliant gateways/methods
|
||
- **Custom components** for recognized popular gateways (Stripe, PayPal) while respecting the standard
|
||
- **Redirect to WC settings** for complex/non-standard addons
|
||
- **Multi-page forms** for gateways with 20+ fields (categorized: Basic → API → Advanced)
|
||
|
||
**Compatibility Stance:**
|
||
> "If it works in WooCommerce, it works in WooNooW. If it doesn't respect WooCommerce's structure, we can't help."
|
||
|
||
---
|
||
|
||
## 6. Community Addon Support Strategy
|
||
|
||
WooNooW leverages the irreplaceable strength of the WooCommerce ecosystem through a three-tier support model:
|
||
|
||
### **Tier A: Automatic Integration** ✅
|
||
**Addons that respect WooCommerce bone structure work automatically.**
|
||
|
||
- Payment gateways extending `WC_Payment_Gateway`
|
||
- Shipping methods extending `WC_Shipping_Method`
|
||
- Plugins using WooCommerce hooks and filters
|
||
- HPOS-compatible plugins
|
||
|
||
**Examples:**
|
||
- Stripe for WooCommerce
|
||
- WooCommerce Subscriptions
|
||
- WooCommerce Bookings
|
||
- Any plugin following WooCommerce standards
|
||
|
||
**Result:** Zero configuration needed. If it works in WooCommerce, it works in WooNooW.
|
||
|
||
---
|
||
|
||
### **Tier B: Bridge Snippets** 🌉
|
||
**For addons with custom injection that partially or fully don't integrate.**
|
||
|
||
We provide bridge snippet code to help users connect non-standard addons:
|
||
|
||
**Use Cases:**
|
||
- Addons that inject custom fields via JavaScript
|
||
- Addons that bypass WooCommerce hooks
|
||
- Addons with custom session management (e.g., Rajaongkir)
|
||
- Addons with proprietary UI injection
|
||
|
||
**Approach:**
|
||
```php
|
||
// Bridge snippet example
|
||
add_filter('woonoow_before_shipping_calculate', function($data) {
|
||
// Convert WooNooW data to addon format
|
||
if ($data['country'] === 'ID') {
|
||
CustomAddon::set_session_data($data);
|
||
}
|
||
return $data;
|
||
});
|
||
```
|
||
|
||
**Distribution:**
|
||
- Documentation with code snippets
|
||
- Community-contributed bridges
|
||
- Optional bridge plugin packages
|
||
|
||
**Philosophy:** We help users leverage ALL WooCommerce addons, not rebuild them.
|
||
|
||
---
|
||
|
||
### **Tier C: Essential WooNooW Addons** ⚡
|
||
**We build our own addons only for critical/essential features.**
|
||
|
||
**Criteria for building:**
|
||
- ✅ Essential for store operations
|
||
- ✅ Significantly enhances WooCommerce
|
||
- ✅ Provides unique value in WooNooW context
|
||
- ✅ Cannot be adequately bridged
|
||
|
||
**Examples:**
|
||
- WooNooW Indonesia Shipping (Rajaongkir, Biteship integration)
|
||
- WooNooW Advanced Reports
|
||
- WooNooW Inventory Management
|
||
- WooNooW Multi-Currency
|
||
|
||
**NOT building:**
|
||
- Generic features already available in WooCommerce ecosystem
|
||
- Features that can be bridged
|
||
- Niche functionality with low demand
|
||
|
||
**Goal:** Save energy, focus on core experience, leverage community strength.
|
||
|
||
---
|
||
|
||
### **Why This Approach?**
|
||
|
||
**Leverage WooCommerce Ecosystem:**
|
||
- 10,000+ plugins available
|
||
- Proven, tested solutions
|
||
- Active community support
|
||
- Regular updates and maintenance
|
||
|
||
**Avoid Rebuilding Everything:**
|
||
- Save development time
|
||
- Focus on core WooNooW experience
|
||
- Let specialists maintain their domains
|
||
- Reduce maintenance burden
|
||
|
||
**Provide Flexibility:**
|
||
- Users choose their preferred addons
|
||
- Bridge pattern for edge cases
|
||
- Essential addons for critical needs
|
||
- No vendor lock-in
|
||
|
||
**Community Strength:**
|
||
> "We use WooCommerce, not PremiumNooW as WooCommerce Alternative. We must take the irreplaceable strength of the WooCommerce community."
|
||
|
||
---
|
||
|
||
## 7. Strategic Goal
|
||
|
||
Position WooNooW as the **"WooCommerce for Now"** — a paid addon that delivers the speed and UX of modern SaaS platforms while retaining the ecosystem power and self‑hosted freedom of WooCommerce.
|
||
|
||
**Key Differentiators:**
|
||
- ⚡ Lightning-fast performance
|
||
- 🎨 Modern, intuitive UI
|
||
- 🔌 Full WooCommerce ecosystem compatibility
|
||
- 🌉 Bridge support for any addon
|
||
- ⚙️ Essential addons for critical features
|
||
- 🚀 No data migration needed
|
||
|
||
--- |