# 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 `` 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 - Product image download pipeline (downloads Printify CDN images, processes through Media pipeline) - ImageDownloadWorker downloads and links images to ProductImage - PreviewData uses local images for responsive `` elements - Startup recovery re-enqueues pending downloads - `mix simpleshop.download_images` backfill task See: [docs/plans/image-optimization.md](docs/plans/image-optimization.md) for implementation details ### Products & Provider Integration **Status:** In Progress #### Completed - [x] Products context with schemas (c5c06d9) - [x] Provider abstraction layer - [x] Printify client integration - [x] Product/variant/image schemas - [x] Admin Provider Setup UI (`/admin/providers`) - connect, test, sync - [x] ProductSyncWorker with pagination, parallel processing, error recovery - [x] Slug-based fallback matching for changed provider IDs - [x] 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 - [x] Product image download pipeline - Downloads Printify CDN images via ImageDownloadWorker - Processes through Media pipeline (WebP conversion, AVIF/WebP variants) - PreviewData uses local images for responsive `` elements - sync_product_images preserves image_id when URL unchanged - Startup recovery and `mix simpleshop.download_images` backfill - [x] 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](docs/plans/products-context.md) for implementation details See: [docs/plans/printify-integration-research.md](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](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](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](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. |