Files
WooNooW/PROJECT_BRIEF.md
dwindown f205027c6d docs: Update PROJECT_BRIEF with Settings architecture philosophy
📝 Changes:
- Added Phase 4.5: Settings SPA & Setup Wizard
- Added Section 5: Settings Architecture Philosophy
- Documented 'better wardrobe' approach
- Clarified WooCommerce bone structure respect
- Defined compatibility stance

🎯 Key Principles:
- Read WC structure (don't create parallel system)
- Transform & simplify (better UX)
- Enhance performance (like Orders: 30s → 1-2s)
- Respect ecosystem (auto-support WC-compliant addons)
- No new hooks (listen to WC hooks)

🎨 UI Strategy:
- Generic form builder (standard)
- Custom components (popular gateways)
- Redirect to WC (complex/non-standard)
- Multi-page forms (20+ fields)

Compatibility: 'If it works in WC, it works in WooNooW'
2025-11-05 20:59:21 +07:00

89 lines
4.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WooNooW — Modern Experience Layer for WooCommerce
## 1. Background
WooCommerce remains the worlds most widely used ecommerce engine, but its architecture has become increasingly heavy, fragmented, and difficult to modernize.
The transition toward Reactbased 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 SaaSlike 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 PHPbased 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 Reactpowered 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 myaccount.
4. **Full SPA Toggle** — optional Reactonly mode for performancecritical 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 FastPath (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:** PHP8.2+, WooCommerceHPOS, Action Scheduler, Redis (object cache).
- **Frontend:** React18 + TypeScript, Vite, React Query, Tailwind/Radix for UI.
- **Architecture:** Modular PSR4 autoload, RESTdriven logic, SPA hydration islands.
- **Performance:** Readthrough cache, async queues, lazy data hydration.
- **Compat:** HookBridge and SlotRenderer ensuring PHPhook 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. 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 selfhosted freedom of WooCommerce.
---