simpleshop_theme/ROADMAP.md
Jamey Greenwood 8e9a10e9b7 docs: rename to SimpleShop in docs, plan full rename for later
- Update README title to "SimpleShop"
- Update ROADMAP title to "SimpleShop Roadmap"
- Add "Rename Project to SimpleShop" to Technical Debt section
  with list of files that would need updating

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 23:09:42 +00:00

5.0 KiB

SimpleShop 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:

# After supervisor starts
Task.start(fn ->
  settings = SimpleshopTheme.Settings.get_theme_settings()
  css = SimpleshopTheme.Theme.CSSGenerator.generate(settings)
  SimpleshopTheme.Theme.CSSCache.put(css)
end)

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.

Enhanced Contact Page

Status: Not implemented Effort: Small

The current contact page has subtle footer social icons that are easy to miss. Improvements:

  1. Newsletter signup card - Prominent card encouraging newsletter subscription as the best way to stay updated (already in footer, but deserves dedicated placement)

  2. Social media links card - Full-width card listing social platforms with icons and text labels:

    [Instagram icon] Instagram
    [Patreon icon]   Patreon
    [TikTok icon]    TikTok
    [Facebook icon]  Facebook
    [Pinterest icon] Pinterest
    

    This makes social links more discoverable than the current small footer icons.

Implementation:

  • Add newsletter_card/1 component to ShopComponents
  • Add social_links_card/1 component with configurable platforms
  • Update contact page template to include both cards
  • Consider making platforms configurable via theme settings

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

Rename Project to SimpleShop

Status: Not implemented Effort: Medium

The project is currently named simpleshop_theme (reflecting its origins as a theme system), but it's now a full e-commerce storefront. Rename to simple_shop or simpleshop to reflect this.

Files to update:

  • mix.exs - app name
  • lib/simpleshop_theme/lib/simple_shop/
  • lib/simpleshop_theme_web/lib/simple_shop_web/
  • All module names (SimpleshopThemeSimpleShop)
  • config/*.exs - endpoint and repo references
  • test/ directories
  • Database file name

Completed (For Reference)

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)

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