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>
4.1 KiB
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
- Variant Selector Component - Size/colour picker on product pages
- Session-based Cart - Real cart with actual variants
- 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_imagestask 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:deletedandproduct:publish:*events (noproduct:updated)
- Note: Printify only supports
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. |