# WooNooW **WooNooW** is a modern experience layer for WooCommerce β€” enhancing UX, speed, and reliability **without data migration**. It keeps WooCommerce as the core engine while providing a modern React-powered interface for both the **storefront** (cart, checkout, my‑account) and the **admin** (orders, dashboard). --- ## πŸ” Background WooCommerce is the most used e‑commerce engine in the world, but its architecture has become heavy and fragmented. With React‑based blocks (Checkout, Cart, Product Edit) and HPOS now rolling out, many existing addons are becoming obsolete or unstable. WooNooW bridges the gap between Woo’s legacy PHP system and the new modern stack β€” so users get performance and simplicity without losing compatibility. --- ## πŸš€ Key Principles - **No Migration Needed** – Woo data stays intact. - **Safe Activate/Deactivate** – revert to native Woo anytime, no data loss. - **Hybrid by Default** – SSR + React islands for Cart/Checkout/My‑Account. - **Full SPA Toggle** – optional React‑only mode for max performance. - **HPOS Mandatory** – optimized datastore and async operations. - **Compat Layer** – hook mirror + slot rendering for legacy addons. - **Async Mail & Tasks** – powered by Action Scheduler. --- ## 🧱 Tech Stack | Layer | Technology | |--------|-------------| | Backend | PHPΒ 8.2+, WordPress, WooCommerceΒ (HPOS), ActionΒ Scheduler | | Frontend | ReactΒ 18Β +Β TypeScript,Β Vite,Β ReactΒ Query,Β TailwindΒ (optional) | | Build & Package | Composer,Β NPM,Β ESMΒ scripts,Β Zip automation | | Architecture | Modular PSR‑4 classes,Β REST‑driven SPA islands | --- ## 🧩 Project Structure ``` woonoow/ β”œβ”€β”€ admin-spa/ β”‚ β”œβ”€β”€ src/ β”‚ β”‚ β”œβ”€β”€ components/ β”‚ β”‚ β”‚ β”œβ”€β”€ filters/ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ DateRange.tsx β”‚ β”‚ β”‚ β”‚ └── OrderBy.tsx β”‚ β”‚ β”‚ └── CommandPalette.tsx β”‚ β”‚ β”œβ”€β”€ hooks/ β”‚ β”‚ β”‚ └── useShortcuts.tsx β”‚ β”‚ β”œβ”€β”€ lib/ β”‚ β”‚ β”‚ β”œβ”€β”€ api.ts β”‚ β”‚ β”‚ β”œβ”€β”€ currency.ts β”‚ β”‚ β”‚ β”œβ”€β”€ dates.ts β”‚ β”‚ β”‚ β”œβ”€β”€ query-params.ts β”‚ β”‚ β”‚ β”œβ”€β”€ useCommandStore.ts β”‚ β”‚ β”‚ └── utils.ts β”‚ β”‚ β”œβ”€β”€ pages/ β”‚ β”‚ β”‚ └── orders/ β”‚ β”‚ β”‚ β”œβ”€β”€ partials β”‚ β”‚ β”‚ β”‚ └── OrderForm.tsx β”‚ β”‚ β”‚ β”œβ”€β”€ Orders.tsx β”‚ β”‚ β”‚ β”œβ”€β”€ OrdersNew.tsx β”‚ β”‚ β”‚ └── OrderShow.tsx β”‚ β”‚ β”œβ”€β”€ routes/ β”‚ β”‚ β”‚ └── Dashboard.tsx β”‚ β”‚ β”œβ”€β”€ types/ β”‚ β”‚ β”‚ └── qrcode.d.ts β”‚ β”‚ β”œβ”€β”€ App.tsx β”‚ β”‚ β”œβ”€β”€ index.css β”‚ β”‚ └── main.tsx β”‚ └── vite.config.ts β”œβ”€β”€ includes/ β”‚ β”œβ”€β”€ Admin/ β”‚ β”‚ β”œβ”€β”€ Assets.php β”‚ β”‚ └── Menu.php β”‚ β”œβ”€β”€ Api/ β”‚ β”‚ β”œβ”€β”€ CheckoutController.php β”‚ β”‚ β”œβ”€β”€ OrdersController.php β”‚ β”‚ β”œβ”€β”€ Permissions.php β”‚ β”‚ └── Routes.php β”‚ β”œβ”€β”€ Compat/ β”‚ β”‚ β”œβ”€β”€ HideWooMenus.php β”‚ β”‚ └── HooksShim.php β”‚ └── Core/ β”‚ β”œβ”€β”€ DataStores/ β”‚ β”‚ β”œβ”€β”€ OrderStore_HPOS.php β”‚ β”‚ └── OrderStore.php β”‚ β”œβ”€β”€ Mail/ β”‚ β”‚ β”œβ”€β”€ MailQueue.php β”‚ β”‚ └── WooEmailOverride.php β”‚ β”œβ”€β”€ Bootstrap.php β”‚ └── Features.php β”œβ”€β”€ woonoow.php └── docs (project notes, SOP, etc.) ``` --- ## βš™οΈ Development Workflow 1. **LocalWP / Docker setup** with WordPressΒ +Β WooCommerce. 2. Activate plugin: `WooNooW` should appear in the admin menu. 3. Build SPAs: ```bash npm run build ``` 4. Package zip: ```bash npm run pack ``` 5. Upload `dist/woonoow.zip` into WordPress β†’ Plugins β†’ AddΒ New β†’ Upload. --- ## 🧭 Vision > β€œWooCommerce, reimagined for now.” WooNooW delivers modern speed and UX while keeping WooCommerce’s ecosystem alive. No migration. No lock‑in. Just Woo, evolved. ---