2026-01-17 22:39:37 +00:00
|
|
|
# SimpleshopTheme Roadmap
|
|
|
|
|
|
|
|
|
|
This document tracks future improvements, features, and known gaps.
|
|
|
|
|
|
|
|
|
|
## Quick Wins (Low Effort)
|
|
|
|
|
|
|
|
|
|
### CSS Cache Warming on Startup
|
|
|
|
|
**Status:** Not implemented
|
|
|
|
|
**Effort:** Small
|
|
|
|
|
|
|
|
|
|
Currently the CSS cache (ETS) is created on startup but not pre-warmed. The first request after server restart generates CSS on-demand.
|
|
|
|
|
|
|
|
|
|
**Implementation:**
|
|
|
|
|
Add cache warming to `lib/simpleshop_theme/application.ex`:
|
|
|
|
|
```elixir
|
|
|
|
|
# After supervisor starts
|
|
|
|
|
Task.start(fn ->
|
|
|
|
|
settings = SimpleshopTheme.Settings.get_theme_settings()
|
|
|
|
|
css = SimpleshopTheme.Theme.CSSGenerator.generate(settings)
|
|
|
|
|
SimpleshopTheme.Theme.CSSCache.put(css)
|
|
|
|
|
end)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Navigation Links Between Admin and Shop
|
|
|
|
|
**Status:** Not implemented
|
|
|
|
|
**Effort:** Small
|
|
|
|
|
|
|
|
|
|
No links exist to navigate between the theme editor (`/admin/theme`) and the public shop (`/`).
|
|
|
|
|
|
|
|
|
|
**Implementation:**
|
|
|
|
|
- Add "View Shop" button in theme editor header
|
|
|
|
|
- Add "Edit Theme" link in shop header (when authenticated)
|
|
|
|
|
|
|
|
|
|
### Collection Slug Routes
|
|
|
|
|
**Status:** Partial
|
|
|
|
|
**Effort:** Small
|
|
|
|
|
|
|
|
|
|
Currently we have `/products` but the original plan included `/collections/:slug` for filtered views by category.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Medium Features
|
|
|
|
|
|
|
|
|
|
### Page Builder (Database-Driven Pages)
|
|
|
|
|
**Status:** Planned (see `docs/plans/page-builder.md`)
|
|
|
|
|
**Effort:** Large
|
|
|
|
|
|
|
|
|
|
Allow shop owners to build custom pages by combining pre-built sections:
|
|
|
|
|
- Hero, Featured Products, Testimonials, Newsletter, etc.
|
|
|
|
|
- Drag-and-drop section ordering
|
|
|
|
|
- Per-section configuration
|
|
|
|
|
- Database-backed page storage
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Future Features (Large Scope)
|
|
|
|
|
|
|
|
|
|
### Products Context
|
|
|
|
|
Real product management instead of preview data:
|
|
|
|
|
- Product CRUD
|
|
|
|
|
- Variant support (size, colour)
|
|
|
|
|
- Inventory tracking
|
|
|
|
|
- Image galleries
|
|
|
|
|
|
|
|
|
|
### Orders & Cart Functionality
|
|
|
|
|
Currently cart is display-only with mock data:
|
|
|
|
|
- Session-based cart persistence
|
|
|
|
|
- Add to cart functionality
|
|
|
|
|
- Checkout flow
|
|
|
|
|
- Order creation and history
|
|
|
|
|
|
|
|
|
|
### Multi-Admin Support
|
|
|
|
|
Currently single-user authentication:
|
|
|
|
|
- Multiple admin users
|
|
|
|
|
- Role-based permissions
|
|
|
|
|
- Audit logging
|
|
|
|
|
|
|
|
|
|
### Custom Domains
|
|
|
|
|
Allow shops to use their own domain:
|
|
|
|
|
- Domain verification
|
|
|
|
|
- SSL certificate provisioning
|
|
|
|
|
- DNS configuration guidance
|
|
|
|
|
|
|
|
|
|
### Theme Export/Import
|
|
|
|
|
Backup and restore theme settings:
|
|
|
|
|
- JSON export of all settings
|
|
|
|
|
- Import with validation
|
|
|
|
|
- Preset sharing between shops
|
|
|
|
|
|
|
|
|
|
### Advanced Theme Features
|
|
|
|
|
- Custom CSS injection
|
|
|
|
|
- Custom JavaScript snippets
|
|
|
|
|
- Code-level overrides for developers
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Technical Debt
|
|
|
|
|
|
|
|
|
|
### Test Coverage
|
|
|
|
|
Phase 9 testing is basic. Areas needing better coverage:
|
|
|
|
|
- Shop LiveView integration tests
|
|
|
|
|
- CSS cache invalidation flow
|
|
|
|
|
- Theme application across all pages
|
|
|
|
|
- Responsive behaviour
|
|
|
|
|
- Accessibility validation
|
|
|
|
|
|
|
|
|
|
### Error Handling
|
|
|
|
|
- Better error states for missing products
|
|
|
|
|
- Graceful degradation when theme settings are invalid
|
|
|
|
|
- Network error handling in LiveView
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Completed (For Reference)
|
|
|
|
|
|
2026-01-17 22:56:21 +00:00
|
|
|
### Sample Content ("Wildprint Studio") ✅
|
|
|
|
|
- 16 POD products across 5 categories
|
|
|
|
|
- Nature/botanical theme with testimonials
|
|
|
|
|
- UK-focused (prices in £)
|
|
|
|
|
- Printify API integration for mockup generation (`mix generate_mockups`)
|
|
|
|
|
|
2026-01-17 22:39:37 +00:00
|
|
|
### Phase 1-8: Theme Editor ✅
|
|
|
|
|
- Theme settings schema and persistence
|
|
|
|
|
- CSS three-layer architecture
|
|
|
|
|
- 8 theme presets
|
|
|
|
|
- All customisation controls
|
|
|
|
|
- Logo/header image uploads
|
|
|
|
|
- SVG recolouring
|
|
|
|
|
- Preview system with 7 pages
|
|
|
|
|
|
|
|
|
|
### Phase 9: Storefront Integration ✅
|
|
|
|
|
- Public shop routes (/, /products, /products/:id, /cart, /about, /contact)
|
|
|
|
|
- Shared PageTemplates for shop and preview
|
|
|
|
|
- CSS injection via shop layout
|
|
|
|
|
- Themed error pages (404/500)
|
|
|
|
|
- Dev routes for error page preview
|