# 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 (Phase 1 complete)

## Next Up

1. **Admin Provider Setup UI** (`/admin/providers`) - Add/edit/test provider connections
2. **Product Sync Strategy:**
   - ProductSyncWorker (Oban) for manual/scheduled sync
   - Webhook endpoint for real-time updates from Printify
3. Wire Products context to shop LiveViews (replace PreviewData)
4. Session-based cart with real variants

---

## 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](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

#### Remaining Tasks
- [ ] **Admin Provider Setup UI** - `/admin/providers` for managing connections (~2hr) ← **NEXT**
- [ ] Create ProductSyncWorker (Oban) for manual/scheduled sync (~1hr)
- [ ] Printify webhook endpoint for real-time product updates (~1.5hr)
- [ ] Wire shop LiveViews to Products context (~2hr)
- [ ] Add variant selector component (~2hr)

See: [docs/plans/products-context.md](docs/plans/products-context.md) for implementation details

### 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 |
| 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. |
