Files
route-commerce/docs/superpowers/plans/2026-01-09-indian-river-data-migration.md
T

256 lines
8.7 KiB
Markdown

# Indian River Direct Data Migration Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Update the app's mock data and Indian River Direct storefront to match the scraped data from indianriverdirect.com - products, brand story, team, seasonal schedules, and pickup-only model.
**Architecture:** Maintain existing file structure. Update mock-data.ts with real products and brand info. Update IRD storefront pages with authentic content from the source site. No structural changes.
**Tech Stack:** Next.js, TypeScript, Tailwind CSS (existing)
---
## Data Summary from Scrape
### Products
| Product | Price | Type | Notes |
|---------|-------|------|-------|
| Peaches - 2026 Pre-Order | $55.00 | Pre-order | 25 lb box, Titan Farms SC, June-Aug |
| Pecans | $13.00 | Pickup Only | 1 lb bag, Ellis Brothers GA |
| Blueberries | TBA | Pickup Only | July only |
### Brand Identity
- **Established:** Since 1985
- **Locations:**
- Office: 135 North 2nd Street, Fort Pierce, FL 34950
- Grove: 23298 Orange Avenue, Fort Pierce, FL
- **Acquired:** Fort B Groves (direct source)
- **Key Differentiator:** Farm-to-table direct model
- **Products Source:** Titan Farms (peaches SC), Ellis Brothers (pecans GA)
### Seasonal Calendar
- **Peaches:** June 12 - August 2, 2026
- **Blueberries:** July only
- **Citrus:** Winter season
### Team
- Dan (Owner)
- Angela (Office Manager/Customer Support)
- Mariah (Digital Marketing/Customer Support)
- Kenny, Exzavier, Jaime, Ponce (Drivers/Sales)
---
## Task 1: Update Mock Data
**Files:**
- Modify: `route_commerce-main/src/lib/mock-data.ts`
- [ ] **Step 1: Update brand info**
Replace lines 4-7 with:
```typescript
export const mockBrands = [
{ id: "brand-tuxedo", name: "Tuxedo Corn", slug: "tuxedo", accent_color: "#22c55e" },
{ id: "brand-ird", name: "Indian River Direct", slug: "indian-river-direct", accent_color: "#f97316" },
];
```
Add brand settings after line 93:
```typescript
export const mockBrandSettingsIRD = {
brand_name: "Indian River Direct",
founded: "Since 1985",
office_address: "135 North 2nd Street, Fort Pierce, FL 34950",
grove_address: "23298 Orange Avenue, Fort Pierce, FL",
description: "Family-owned and operated, bringing fresh fruit from our groves to your neighborhood since 1985.",
phone: "(772) 465-1234",
};
```
- [ ] **Step 2: Update IRD products**
Replace the IRD products in mockProducts (lines 16-21) with:
```typescript
// Indian River Direct products (based on indianriverdirect.com)
{ id: "prod-ird-peach-1", name: "Peaches - 2026 Pre-Order", price: 55.00, description: "25 lb box of Freestone Peaches from Titan Farms, South Carolina. Hand-picked at peak ripeness, available June-August 2026. Generally 40-60 peaches per box.", type: "peaches", image_url: "https://cdn.shopify.com/s/files/1/0506/2908/3294/files/Untitleddesign.png", shipping_type: "pickup", brand_id: "brand-ird", is_active: true, pickup_type: "scheduled_stop", seasonal: true, season_start: "June", season_end: "August" },
{ id: "prod-ird-pecans", name: "Pecans", price: 13.00, description: "1 lb bag of premium pecans from Ellis Brothers Pecans, Georgia. Rich, buttery flavor - perfect for baking, snacking, or recipes.", type: "nuts", image_url: "https://cdn.shopify.com/s/files/1/0506/2908/3294/files/Pecans---INDIANRIVER-42.jpg", shipping_type: "pickup", brand_id: "brand-ird", is_active: true, pickup_type: "scheduled_stop" },
{ id: "prod-ird-blueberries", name: "Blueberries", price: 0, description: "Fresh blueberries available in July. Price TBA.", type: "berries", image_url: null, shipping_type: "pickup", brand_id: "brand-ird", is_active: true, pickup_type: "scheduled_stop", seasonal: true, season_start: "July", season_end: "July", price_tba: true },
```
- [ ] **Step 3: Add seasonal/weather stops pattern**
Add a note about seasonal stops structure (append after line 34):
```typescript
// IRD stops are seasonal - peaches in summer, citrus in winter
// Schedule PDFs available at: https://indianriverdirect.com/pages/store-locator
```
- [ ] **Step 4: Remove old citrus products**
Remove the old citrus products (prod-ird-1 through prod-ird-5) since the site structure is different.
---
## Task 2: Update Indian River Direct Homepage
**Files:**
- Modify: `route_commerce-main/src/app/indian-river-direct/page.tsx`
- [ ] **Step 1: Read current file**
```bash
cat route_commerce-main/src/app/indian-river-direct/page.tsx
```
- [ ] **Step 2: Update hero section with Peach Farm Direct branding**
The site shows two brands: "Peach Farm Direct" (summer) and "Indian River Direct" (citrus/winter). Update hero to reflect this.
- [ ] **Step 3: Add News Board section**
Add seasonal announcements from the scraped site:
```
The 2026 Peach Schedule is now Available online. Pre-order is also open, but not required. Walk up customers are welcome.
Peach Season begins June 12th through Aug 2nd.
```
- [ ] **Step 4: Add "Since 1985" badge and brand story**
Update the about section with:
- "Since 1985" badge
- Family-owned messaging
- Direct farm-to-table promise
- [ ] **Step 5: Add testimonials from the site**
Include the 3 testimonials from the homepage:
1. Linda Hurlbut - about grapefruit quality
2. Phil Myers - about tangerines and Red Navels
3. Bill Prue - about Orrie Tangerines
- [ ] **Step 6: Add newsletter signup section**
Match the "Sign up for savings and tour updates" section from the scraped site.
---
## Task 3: Update Indian River Direct Layout
**Files:**
- Modify: `route_commerce-main/src/app/indian-river-direct/layout.tsx`
- [ ] **Step 1: Update metadata**
```typescript
export const metadata: Metadata = {
title: "Indian River Direct | Peach & Citrus Truckload",
description: "Fresh peaches and citrus delivered straight from our groves to truckload sales in your neighborhood. Family-owned since 1985.",
};
```
---
## Task 4: Create Store Locator Page
**Files:**
- Create: `route_commerce-main/src/app/indian-river-direct/stores/page.tsx`
- [ ] **Step 1: Create page matching scraped site's store-locator**
```typescript
// Route: /indian-river-direct/stores
// Shows: Links to schedule PDFs and seasonal pickup locations
// Content from indianriverdirect.com/pages/store-locator
export default function StoreLocatorPage() {
return (
// Hero section with "Keep up to date with Indian River Direct & The Peach Farm Direct"
// Links to OH-IN-KY-WV and WI-IL schedule PDFs
// Pickup-only notice for pecans
// Newsletter signup
);
}
```
---
## Task 5: Update Brand Config
**Files:**
- Modify: `route_commerce-main/src/config/brands.ts`
- [ ] **Step 1: Add IRD brand configuration**
```typescript
// Add IRD brand config
export const brandConfigIRD = {
name: "Indian River Direct",
tagline: "Farm-Direct to Your Neighborhood",
founded: 1985,
accent_color: "#f97316", // Orange for citrus
secondary_color: "#ea580c",
features: {
preorder: true,
pickupOnly: true,
seasonal: true,
},
seasonal: {
peaches: { start: "June", end: "August" },
blueberries: { start: "July", end: "July" },
citrus: { start: "November", end: "April" },
},
};
```
---
## Task 6: Update Admin Product Management
**Files:**
- Modify: `route_commerce-main/src/app/admin/products/page.tsx`
- [ ] **Step 1: Add product type filtering**
Filter products by:
- `preorder` - peaches need pre-order
- `pickup_only` - pecans and blueberries
- `seasonal` - shows season dates
- [ ] **Step 2: Add price TBA support**
Handle products where price is $0 with "Price TBA" display.
---
## Verification
- [ ] Run: `npm run dev` and navigate to `/indian-river-direct`
- [ ] Verify products show correct prices and descriptions
- [ ] Verify seasonal badges appear on peaches
- [ ] Verify "Price TBA" shows for blueberries
- [ ] Verify pickup-only notice for pecans
---
## Notes
1. **Seasonal Nature:** The IRD site is highly seasonal - peaches in summer, citrus in winter. The app needs to handle products being unavailable/out of season.
2. **Pickup Model:** Unlike Tuxedo's dual shipping/pickup, IRD uses pickup-only with scheduled truck stops.
3. **Schedule PDFs:** The site links to PDF schedules for each region - this could be integrated into the stops system.
4. **Brand Identity:** The "Peach Farm Direct" summer branding and "Indian River Direct" winter branding should be represented in the UI.
---
**Plan saved:** `docs/superpowers/plans/2026-01-09-indian-river-data-migration.md`
**Two execution options:**
1. **Subagent-Driven (recommended)** - I dispatch a fresh subagent per task, review between tasks, fast iteration
2. **Inline Execution** - Execute tasks in this session using executing-plans, batch execution with checkpoints
**Which approach?**