simpleshop_theme/PROGRESS.md
jamey c818d0399c feat: wire shop LiveViews to real product data
PreviewData now queries the Products context when real products exist,
falling back to mock data otherwise. Shop pages automatically display
synced Printify products.

Fixes:
- Printify image position was string ("front"), now uses index
- Category extraction improved to match more Printify tags
- ProductShow finds products by slug for real data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:07:37 +00:00

4.1 KiB

SimpleShop Progress

Single source of truth for project status and task tracking.

Current Status

Working:

  • Theme editor with 8 presets, instant switching, full customization
  • Image optimization pipeline (AVIF/WebP/JPEG responsive variants)
  • Shop pages (home, collections, products, cart, about, contact)
  • Mobile-first design with bottom navigation
  • 100% PageSpeed score

In Progress:

  • Products context with provider integration (wired to shop views, variant selector next)

Next Up

  1. Variant Selector Component - Size/colour picker on product pages
  2. Session-based Cart - Real cart with actual variants
  3. Stripe Checkout Integration - Payment processing

Feature Areas

Theme System

Status: Complete

  • 8 theme presets (Gallery, Studio, Boutique, etc.)
  • Three-layer CSS architecture (primitives, attributes, semantic)
  • Instant theme switching via CSS custom property injection
  • Logo/header image uploads with SVG recoloring
  • Self-hosted fonts (10 typefaces, GDPR compliant)
  • ETS-cached CSS generation

Image Optimization

Status: Complete

  • Oban background job processing
  • Responsive <picture> element (AVIF/WebP/JPEG)
  • Only generates sizes <= source dimensions
  • Disk cache for variants (regenerable from DB)
  • mix optimize_images task for mockups
  • On-demand JPEG fallback generation

See: docs/plans/image-optimization.md for implementation details

Products & Provider Integration

Status: In Progress

Completed

  • Products context with schemas (c5c06d9)
  • Provider abstraction layer
  • Printify client integration
  • Product/variant/image schemas
  • Admin Provider Setup UI (/admin/providers) - connect, test, sync
  • ProductSyncWorker with pagination, parallel processing, error recovery
  • Slug-based fallback matching for changed provider IDs
  • Printify webhook endpoint with HMAC verification (a9c15ea)
    • Note: Printify only supports product:deleted and product:publish:* events (no product:updated)

Remaining Tasks

  • Add variant selector component (~2hr)

Recently Completed

  • Wire shop LiveViews to Products context
    • PreviewData now uses real products when available
    • Fixed Printify image sync (position was string, not integer)
    • Improved category extraction from Printify tags

Future Enhancements (post-MVP)

  • Pre-checkout variant validation (verify availability before order)
  • Cost change monitoring/alerts (warn if Printify cost increased)
  • OAuth platform integration (appear in Printify's "Publish to" UI)

Technical Debt

  • Add HTTP mocking (Mox/Bypass) for Printify API tests

See: docs/plans/products-context.md for implementation details See: docs/plans/printify-integration-research.md for API research & risk analysis

Cart & Checkout

Status: Planned

  • Session-based cart module
  • Cart LiveView with real variants
  • Stripe Checkout integration
  • Order creation and persistence

See: ROADMAP.md for design notes

Orders & Fulfillment

Status: Planned

  • Orders context with schemas
  • Order submission to Printify
  • Order status tracking
  • Customer notifications

See: docs/plans/products-context.md for schema design

Page Builder

Status: Future

Database-driven pages with drag-and-drop sections.

See: docs/plans/page-builder.md for design


Completed Work Reference

Feature Commit Notes
Products context Phase 1 c5c06d9 Schemas, provider abstraction
Admin provider setup UI 5b736b9 Connect, test, sync with pagination
Printify webhooks a9c15ea Deletion + publish events (no update event available)
Oban Lifeline plugin c1e1988 Rescue orphaned jobs
Image optimization Multiple Full pipeline complete
Self-hosted fonts - 10 typefaces, 728KB
Mobile bottom nav - Fixed tab bar
PageSpeed 100% - All optimizations
Theme presets (8) - Gallery, Studio, etc.