docs: add prioritised roadmap with all planned features
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d65eb725f7
commit
e6f8d7fa2a
61
PROGRESS.md
61
PROGRESS.md
@ -19,14 +19,43 @@
|
||||
- Search modal with keyboard shortcut
|
||||
- Demo content polished and ready for production
|
||||
|
||||
**Next Up:**
|
||||
- Orders & Fulfillment (Printify submission)
|
||||
**Next up:** Order management and fulfilment (Tier 1)
|
||||
|
||||
## Next Up
|
||||
## Roadmap
|
||||
|
||||
1. **Orders & Fulfillment** - Submit orders to Printify after payment
|
||||
2. **Email Notifications** - Order confirmation emails
|
||||
3. **Hosted Platform** - Multi-tenancy, Stripe Connect for customer shops
|
||||
### Tier 1 — MVP (can take real orders and fulfil them)
|
||||
|
||||
1. **Order management admin** — Admin UI to view orders, filter by status, see order details and line items. The orders context and schemas exist, this is purely the admin LiveView.
|
||||
2. **Orders & fulfilment** — Submit paid orders to Printify via their API. Track fulfilment status (submitted → in production → shipped → delivered). Handle shipping notifications and tracking numbers.
|
||||
3. **Transactional emails** — Order confirmation email on payment. Shipping notification with tracking link. Use Swoosh (already configured) with a simple HTML template.
|
||||
4. **Default content pages** — Static pages for terms of service, delivery & refunds policy, and privacy policy. Needed for legal compliance before taking real orders. Can be simple markdown-rendered pages initially, upgraded to editable via page editor later.
|
||||
|
||||
### Tier 2 — Production readiness (can deploy and run reliably)
|
||||
|
||||
5. **Hosting & deployment** — Fly.io or similar deployment config. Release configuration, runtime env setup, health checks. Observability: structured logging, error tracking (Sentry or similar), basic metrics.
|
||||
6. **Litestream / SQLite replication** — Litestream for continuous SQLite backup to S3-compatible storage. Point-in-time recovery. Simple sidecar process, no code changes needed, works with vanilla SQLite. For the hosted platform (Tier 5), evaluate [Turso](https://turso.tech/) (libSQL fork of SQLite) with embedded read replicas via [ecto_libsql](https://github.com/ocean/ecto_libsql) adapter — gives multi-node reads without a separate replication daemon, but adds a dependency on the libSQL fork.
|
||||
7. **CI pipeline** — All checks implemented as mix aliases (`mix ci` wrapping `mix precommit` + credo + dialyzer). CI config is a thin wrapper that calls `mix ci` — portable across GitHub Actions, Forgejo Actions, Woodpecker, or plain SSH. No proprietary CI dependencies. Custom mix tasks for anything project-specific (e.g. `mix lighthouse`). Oban stays for runtime background jobs, not CI.
|
||||
8. **PageSpeed in CI** — Lighthouse CI to catch regressions. Fail the build if score drops below threshold. Protects the current 100% score.
|
||||
9. **End-to-end tests** — Wallaby or similar for browser-based tests of critical flows: browse → add to cart → checkout → order confirmation. Covers the full happy path plus key error cases.
|
||||
|
||||
### Tier 3 — Compliance & quality
|
||||
|
||||
10. **Accessibility (a11y)** — Audit against WCAG 2.1 AA. Focus management, ARIA labels, keyboard navigation, colour contrast. Axe-core integration in CI.
|
||||
11. **Privacy-respecting analytics** — Self-hosted, cookie-free analytics. Plausible, Umami, or a lightweight custom solution. No Google Analytics, no third-party tracking. GDPR-friendly by design.
|
||||
12. **AGPL licensing & code hosting** — Currently AGPL-3.0. Decide on GitHub vs Codeberg vs self-hosted Forgejo. Set up proper LICENSE file, contribution guidelines, and release process.
|
||||
13. **Security (Paraxial.io)** — Runtime application security monitoring for Elixir. Bot detection, rate limiting, vulnerability scanning. Evaluate whether it fits the self-hosted model.
|
||||
|
||||
### Tier 4 — Growth & content
|
||||
|
||||
14. **Page editor** — Database-driven pages with drag-and-drop sections. Extend the theme system to custom pages beyond the defaults. Replaces the static content pages from Tier 1 with editable versions.
|
||||
15. **Newsletter & email marketing** — Email list collection (signup forms). Campaign sending for product launches, sales. Can be simple initially (collect emails, send via Swoosh) or integrate with a service.
|
||||
16. **Product page improvements** — Pre-checkout variant validation (verify Printify availability). Cost change monitoring/alerts. Better image gallery (zoom, multiple angles).
|
||||
|
||||
### Tier 5 — Platform vision
|
||||
|
||||
17. **Hosted platform** — Marketing/brochure site for SimpleShop as a service. Subscribe/sign-up flow. Multi-tenancy with per-tenant databases. Stripe Connect for customer shops (each merchant connects their own Stripe account via OAuth).
|
||||
18. **Migration & export** — Let shop owners export their data (products, orders, customers, theme settings). Import from other platforms (Shopify, WooCommerce). Portable data as a selling point for the self-hosted story.
|
||||
19. **Internationalisation (i18n)** — Multi-language support via Gettext (already in Phoenix). Currency formatting (ex_cldr already in deps). RTL layout support. Per-shop locale configuration.
|
||||
|
||||
---
|
||||
|
||||
@ -142,20 +171,22 @@ See: [ROADMAP.md](ROADMAP.md) for design notes
|
||||
- Disconnect button clears keys from DB and Application env
|
||||
- CSSCache test startup crash fixed (handle_continue pattern)
|
||||
|
||||
### Orders & Fulfillment
|
||||
**Status:** Planned
|
||||
### Orders & Fulfilment
|
||||
**Status:** In progress — schemas and checkout done, fulfilment pending (Tier 1)
|
||||
|
||||
- [x] Orders context with schemas
|
||||
- [ ] Order submission to Printify
|
||||
- [ ] Order status tracking
|
||||
- [ ] Customer notifications
|
||||
- [x] Orders context with schemas (ff1bc48)
|
||||
- [x] Stripe Checkout integration with webhook handling
|
||||
- [ ] Order management admin UI (Roadmap #1)
|
||||
- [ ] Printify order submission (Roadmap #2)
|
||||
- [ ] Fulfilment status tracking (Roadmap #2)
|
||||
- [ ] Transactional emails (Roadmap #3)
|
||||
|
||||
See: [docs/plans/products-context.md](docs/plans/products-context.md) for schema design
|
||||
|
||||
### Page Builder
|
||||
**Status:** Future
|
||||
### Page Editor
|
||||
**Status:** Future (Tier 4)
|
||||
|
||||
Database-driven pages with drag-and-drop sections.
|
||||
Database-driven pages with drag-and-drop sections. Initially, default content pages (terms, privacy, delivery) will be static templates (Tier 1), later made editable via the page editor.
|
||||
|
||||
See: [docs/plans/page-builder.md](docs/plans/page-builder.md) for design
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user