2026-01-31 14:06:07 +00:00
|
|
|
# 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:**
|
2026-01-31 23:07:37 +00:00
|
|
|
- Products context with provider integration (wired to shop views, variant selector next)
|
2026-01-31 14:06:07 +00:00
|
|
|
|
|
|
|
|
## Next Up
|
|
|
|
|
|
2026-01-31 23:07:37 +00:00
|
|
|
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
|
2026-01-31 14:06:07 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 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
|
2026-01-31 22:08:34 +00:00
|
|
|
- [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
|
2026-01-31 23:07:37 +00:00
|
|
|
- [x] Printify webhook endpoint with HMAC verification (a9c15ea)
|
|
|
|
|
- Note: Printify only supports `product:deleted` and `product:publish:*` events (no `product:updated`)
|
2026-01-31 14:06:07 +00:00
|
|
|
|
|
|
|
|
#### Remaining Tasks
|
|
|
|
|
- [ ] Add variant selector component (~2hr)
|
|
|
|
|
|
2026-01-31 23:07:37 +00:00
|
|
|
#### Recently Completed
|
|
|
|
|
- [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
|
|
|
|
|
|
2026-01-31 22:08:34 +00:00
|
|
|
#### 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
|
|
|
|
|
|
2026-01-31 14:06:07 +00:00
|
|
|
See: [docs/plans/products-context.md](docs/plans/products-context.md) for implementation details
|
2026-01-31 22:08:34 +00:00
|
|
|
See: [docs/plans/printify-integration-research.md](docs/plans/printify-integration-research.md) for API research & risk analysis
|
2026-01-31 14:06:07 +00:00
|
|
|
|
|
|
|
|
### 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 |
|
2026-01-31 22:41:45 +00:00
|
|
|
| Admin provider setup UI | 5b736b9 | Connect, test, sync with pagination |
|
2026-01-31 23:07:37 +00:00
|
|
|
| Printify webhooks | a9c15ea | Deletion + publish events (no update event available) |
|
2026-01-31 14:06:07 +00:00
|
|
|
| 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. |
|