Features
What SellRight does today
The capability inventory from the repository, with its status as written there. Built means implemented in code; it is not a claim that every merchant deployment has passed acceptance.
Capability inventory
Source: docs/FEATURES.md.
| Capability | Status | Notes |
|---|---|---|
| Multi-store backend | Built | One schema, multiple stores, RLS isolation. |
| REST + OpenAPI | Built | /v1/openapi.json is generated from zod route schemas. |
| Admin | Built | Dashboard, catalog, orders, customers, settings, reports, staff, marketing, content, assets. |
| Catalog management | Built | Products, variants, collections, options, images, inventory, locations. |
| Static catalog manifest | Built | Fast storefront browse path with generated JSON. |
| Checkout | Built | Server-priced checkout with stock allocation, shipping, tax, coupons, gift-card tender. |
| Payments | Built | Stripe, NMI and Sezzle adapters. Stripe storefront checkout is implemented; its release gate is one real test-key end-to-end run. |
| Refunds and returns | Built | Gateway-backed refund path for providers that implement it. |
| Customer auth and accounts | Built | Register, login, Google auth, sessions, profile, addresses, password reset, email verification. |
| Transactional email | Built | SMTP through a durable outbox with retries and dead-letter. |
| Promotions | Built | Coupons, automatic discounts, eligibility, usage constraints. |
| Gift cards | Built | Creation, redemption and a transaction ledger. |
| Tax and shipping | Built | Store rates, country tax zones, flat and conditional shipping methods. |
| Staff and permissions | Built | Staff invites, store membership, role and permission model. |
| Webhooks | Built | Outbound webhooks plus the inbound Stripe webhook route. |
| Affiliates | Built | Affiliate tracking and admin surfaces. |
| Blog and content | Built | Blog CMS routes and admin surface. |
| App and software licensing | Built | License issuance, device activation, update manifests, licensed downloads. |
| Subscriptions | Built | Stripe Billing; renewals extend the entitlement; hosted Customer Portal. |
| Order bulk operations | Built | Bulk cancel, trash, restore and guarded purge. |
| Server cart lifecycle | Built | TTL with extend-on-activity, abandonment and cleanup jobs. |
| Order editing | Built | Preview and commit edits to a paid order with live stock deltas. |
| Balance payments | Built | Edited orders with an amount due accept payment for the balance only. |
| Points and rewards | Built | Earn and redeem ledger, bonus rules, product multipliers. |
| Product reviews | Built | Moderated reviews with verified-buyer flag and admin reply. |
| Customer returns | Built | Return requests from the storefront account; admin approves with optional restock. |
| Storefront migration | In progress | Catalog, cart, auth, account and checkout use the REST path; a real Stripe test-key end-to-end run remains a release receipt. |
| Carrier labels and rates | Not built | Manual and flat-rate fulfillment exist; carrier integrations are later. |
| More shopper payment providers | Deferred | PayPal, COD and others only when a concrete deployment needs them. |
The admin
A React single-page admin with a multi-store switcher. Orders, draft orders, abandoned carts, products, collections, inventory and locations, customers, discounts, gift cards, returns, reports, affiliates, blog, webhooks, tax zones, staff, currency rates and settings, with optional two-factor sign-in.


The storefront
A generic, themeable Qwik storefront: home, shop with category and search filters, collections, product detail with variant selection, cart drawer, checkout, account, order tracking, search and blog. Store name, logo, colors, contact details and structured data are supplied per deployment.


Stack
Source: docs/ARCHITECTURE.md.
| API | Hono + @hono/zod-openapi, versioned REST under /v1 |
| Data | PostgreSQL + Drizzle, integer cents for money |
| Tenancy | Store-scoped tables, Postgres row-level security |
| Admin | React + Vite + Tailwind |
| Storefront | Reference Qwik storefront over a typed REST client |
| Nodemailer SMTP through a durable outbox | |
| Jobs | Leader-locked in-process scheduler |