From 0d57f76f779fa125856b381bcf790c309714c791 Mon Sep 17 00:00:00 2001 From: herbygitea Date: Sun, 29 Mar 2026 23:53:29 +0000 Subject: [PATCH] Create pbs-woocommerce-store.md via n8n --- PBS/Tech/Projects/pbs-woocommerce-store.md | 246 +++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 PBS/Tech/Projects/pbs-woocommerce-store.md diff --git a/PBS/Tech/Projects/pbs-woocommerce-store.md b/PBS/Tech/Projects/pbs-woocommerce-store.md new file mode 100644 index 0000000..17df88f --- /dev/null +++ b/PBS/Tech/Projects/pbs-woocommerce-store.md @@ -0,0 +1,246 @@ +--- +project: pbs-woocommerce-store +type: project-plan +status: active +tags: + - pbs + - wordpress + - woocommerce + - ecommerce + - stripe + - automation + - n8n + - staging + - production +created: 2026-03-20 +updated: 2026-03-20 +path: PBS/Tech/Projects/ +--- + +# WooCommerce Cookbook Store — Project Plan + +## Project Goal +Add a commerce section to plantbasedsoutherner.com to sell Jenny's first cookbook (digital + physical), using a lean WooCommerce setup with free plugins only. This is a **stepping stone** — designed to launch quickly while preserving a clean migration path to a custom-built commerce solution in the future. + +## Key Decisions Made +- **WooCommerce over Shopify** — keeps the Sunnies on-site for a seamless brand experience, no monthly platform fees, full data ownership +- **Lean plugin approach** — WooCommerce core + free official extensions only, no premium plugin dependencies for Phase 1 +- **Stripe as primary payment processor** — free WooCommerce integration, supports credit cards, Apple Pay, Google Pay +- **PayPal as secondary option** — free WooCommerce integration, covers buyers who prefer PayPal +- **Staging first, always** — full deployment and testing on staging before production +- **Future-proof mindset** — all product/order data lives in MySQL, making eventual migration to a custom Flask/Go/Rust backend straightforward + +## Architecture Overview + +``` +Sunnies browse → plantbasedsoutherner.com/shop (WordPress + WooCommerce) + ↓ +Add to cart → still on PBS site + ↓ +Checkout → still on PBS site + ↓ +Payment → Stripe handles card processing behind the scenes + ↓ +Order complete → WooCommerce stores order, triggers n8n webhooks + ↓ +n8n automation → confirmation emails, alerts, digital delivery +``` + +## Long-Term Vision +WooCommerce is the **temporary tenant**. The long-term plan is a custom commerce backend (Flask, Go, or Rust) with direct Stripe API integration. Key principles: +- Product and order data stays in MySQL — portable regardless of frontend +- n8n automations are backend-agnostic (webhook-triggered) +- Traefik routing can point to any service, not WooCommerce-specific +- When ready, swap the engine without rebuilding the infrastructure + +--- + +## Phase 1: WooCommerce Core Setup (Staging) +**Goal:** Get a working cookbook store on staging.plantbasedsoutherner.com + +### 1.1 Install & Configure WooCommerce +- [ ] Install WooCommerce plugin on staging +- [ ] Run the setup wizard (store address, currency, product types) +- [ ] Configure general settings (timezone, currency display, measurements) +- [ ] Set store pages (shop, cart, checkout, my account) +- [ ] Disable WooCommerce features we don't need yet (reviews, coupons, etc.) to keep it lean + +### 1.2 Redis Cache Configuration +- [ ] Configure WooCommerce cart/checkout pages to bypass Redis object cache +- [ ] Add cache exclusion rules for WooCommerce session cookies (`woocommerce_cart_hash`, `woocommerce_items_in_cart`, `wp_woocommerce_session_*`) +- [ ] Test that cart persists across page loads (cache bypass working) +- [ ] Flush Redis cache after WooCommerce installation + +### 1.3 Payment Gateway Setup +- [ ] Create Stripe account for PBS (if not already existing) +- [ ] Install WooCommerce Stripe Gateway (free official plugin) +- [ ] Configure Stripe in **test mode** on staging +- [ ] Install WooCommerce PayPal Payments (free official plugin) +- [ ] Configure PayPal in **sandbox mode** on staging +- [ ] Test both payment methods with test card numbers + +### 1.4 Product Setup — Jenny's Cookbook +- [ ] Create product: Physical cookbook (simple product, requires shipping) +- [ ] Create product: Digital cookbook — PDF (downloadable product) +- [ ] Optional: Create bundled product (physical + digital combo) +- [ ] Upload product images (Jenny to provide) +- [ ] Write product descriptions (Jenny to provide or review) +- [ ] Configure pricing +- [ ] Set up shipping zones and rates for physical book +- [ ] Configure digital download settings (download limits, link expiry) + +### 1.5 Store Design & Integration +- [ ] Create/customize shop page with Elementor to match PBS branding +- [ ] Style cart and checkout pages to match site aesthetic +- [ ] Add "Shop" link to main site navigation +- [ ] Ensure mobile responsiveness (Sunnies likely shopping from Instagram links) +- [ ] Test full purchase flow on mobile and desktop + +--- + +## Phase 2: n8n Order Automation +**Goal:** Automate order processing workflows via n8n + +### 2.1 WooCommerce Webhook Setup +- [ ] Configure WooCommerce webhook for `order.completed` → n8n +- [ ] Configure WooCommerce webhook for `order.created` → n8n (for alerts) +- [ ] Verify webhook payload structure + +### 2.2 n8n Workflow: Order Notifications +- [ ] Build workflow: new order → Google Chat notification to Travis +- [ ] Build workflow: new order → summary notification to Jenny (email or preferred channel) +- [ ] Include order details: product, amount, shipping info (if physical) + +### 2.3 n8n Workflow: Digital Delivery (Optional Enhancement) +- [ ] Evaluate if WooCommerce's built-in digital delivery is sufficient +- [ ] If custom delivery needed: n8n workflow to send personalized delivery email via MailerLite or Google Workspace +- [ ] Track download completions + +### 2.4 n8n Workflow: Order Dashboard Sync (Future) +- [ ] Sync order data to a reporting table in `pbs_automation` MySQL database +- [ ] Enables future custom dashboards without querying WooCommerce directly + +--- + +## Phase 3: Production Deployment +**Goal:** Move tested store to production + +### 3.1 Pre-Production Checklist +- [ ] All staging tests pass (payment, cart, checkout, email, webhooks) +- [ ] Jenny has reviewed and approved product pages +- [ ] Stripe switched from test mode to live mode +- [ ] PayPal switched from sandbox to live mode +- [ ] Shipping rates verified +- [ ] Tax configuration reviewed (may need research for PBS's specific situation) +- [ ] Privacy policy and terms of sale updated on site +- [ ] WooCommerce email templates customized with PBS branding + +### 3.2 Production Deployment +- [ ] Install WooCommerce on production +- [ ] Replicate all staging configuration +- [ ] Apply Redis cache exclusions on production +- [ ] Configure live payment gateways +- [ ] Create products (or export/import from staging) +- [ ] Connect n8n production webhooks +- [ ] Test one real transaction (buy your own cookbook!) + +### 3.3 Launch +- [ ] Add shop to site navigation +- [ ] Jenny announces cookbook launch on Instagram +- [ ] Monitor first orders closely for any issues +- [ ] Verify n8n automations fire correctly + +--- + +## Phase 4: Expand Product Catalog (6+ Months) +**Goal:** Add meal plans, merch, and other digital products as Jenny is ready + +- [ ] Evaluate: WooCommerce extensions vs custom PBS-API endpoints per product type +- [ ] Add new products as needed +- [ ] Consider: Sunnie merch store (t-shirts, kitchen items) +- [ ] Consider: Downloadable meal plans / recipe collections +- [ ] Assess if WooCommerce is still serving us or if it's time to start the custom build + +--- + +## Phase 5: Custom Commerce Platform (Future) +**Goal:** Replace WooCommerce with a custom-built solution + +- [ ] Choose framework (Flask, Go, or Rust based on Travis's preference at that time) +- [ ] Direct Stripe API integration (no plugin middleman) +- [ ] Direct PayPal API integration +- [ ] Migrate product data from WooCommerce MySQL tables +- [ ] Migrate order history +- [ ] Build admin UI for Jenny (product management, order viewing) +- [ ] Retire WooCommerce + +--- + +## Plugin List (Free Only) + +| Plugin | Purpose | Cost | +|---|---|---| +| WooCommerce | Core commerce engine | Free | +| WooCommerce Stripe Gateway | Credit card, Apple Pay, Google Pay | Free | +| WooCommerce PayPal Payments | PayPal checkout option | Free | + +**That's it.** Three free plugins. No premium dependencies for Phase 1. + +--- + +## Infrastructure Considerations + +### Linode Resources +- 2GB should handle initial cookbook sales volume +- Monitor memory usage after WooCommerce install (it adds overhead) +- If needed, upgrade to 4GB — WooCommerce + Redis + n8n + WordPress is a lot for 2GB under load + +### Docker / Traefik +- No changes needed to Traefik config — WooCommerce runs inside the existing WordPress container +- No new containers required for Phase 1 + +### Database +- WooCommerce adds ~20+ tables to the WordPress database +- These are separate from `pbs_automation` — no conflict with existing PBS-API data +- Future migration: WooCommerce tables are well-documented, data extraction is straightforward + +### Security +- Stripe handles PCI compliance (card data never touches our server) +- WooCommerce checkout should be HTTPS-only (already handled by Traefik + Let's Encrypt) +- Consider adding Wordfence WooCommerce-specific rules + +--- + +## Key Risks & Mitigations + +| Risk | Mitigation | +|---|---| +| WooCommerce performance on 2GB Linode | Monitor closely, upgrade if needed | +| Redis cache interfering with cart/checkout | Configure cache exclusions before testing | +| Plugin update breaks something | Test updates on staging first, always | +| Scope creep into paid plugins | Hard rule: free plugins only for Phase 1 | +| Tax complexity | Research early, may need free tax config or manual rates | + +--- + +## Discussion Points Captured +- **WordPress regret is real** — WooCommerce is a pragmatic compromise, not a long-term commitment +- **Custom commerce is realistic** — Flask/Go/Rust + Stripe API is a legitimate future project within Travis's skillset (estimated: a month of weekends) +- **Shop Pay not available on WooCommerce** — not a dealbreaker, Apple Pay + Google Pay + PayPal covers the same need +- **Stripe handles all the scary payment stuff** — PCI compliance, fraud, chargebacks. Our code just says "charge $24.99" and Stripe does the rest +- **Data portability** — all product/order data lives in MySQL and can be migrated when the custom build is ready + +--- + +## Next Steps +1. Deploy WooCommerce on staging +2. Configure Redis cache exclusions +3. Set up Stripe test account +4. Create cookbook products +5. Test full purchase flow + +--- + +*Project: Plant Based Southerner — Commerce* +*Created: March 20, 2026* +*Maintained by: Travis with Claude* \ No newline at end of file