User Dashboard
Single place to see account and jump to sections.
Shop experience
The customer-facing surface area of a modern storefront — account, cart, checkout, product, search and more — built into SHOPin and shipping today.
01 · Account
The signed-in home: a single place customers can see their account, jump between sections, and keep a consistent layout across every profile page.
Single place to see account and jump to sections.
Quick access to account sections.
Consistent layout for all account pages.
Switch between profile sections without leaving the page.
02 · Address
Capture, validate and reuse shipping and billing addresses — at checkout and from the customer's saved book.
Capture and validate shipping and billing addresses.
Reuse saved addresses at checkout and in account.
03 · Auth
Production-grade authentication: HTTP-only cookies, encrypted and signed tokens, proactive refresh, anonymous sessions and CSRF protection on every state change.
Sign-in with email and password; BFF uses CommerceTools password grant.
Create account; BFF creates customer in CommerceTools.
Confirm sign-up and set next steps.
Verify email ownership after sign-up.
Sign out; BFF revokes tokens and clears cookies.
Request a password reset.
Access and refresh tokens in HTTP-only cookies; not exposed to JavaScript.
Automatic and proactive refresh; interceptor refreshes from refresh token when needed.
Tokens encrypted (AES-256-GCM) and signed (HS256) before cookie storage.
Double-submit cookie pattern with signed/encrypted tokens on state-changing operations.
Guest tokens for cart and checkout; merged on login.
UserClientService for /me and other user-scoped CommerceTools calls.
04 · Cart
Everything from the badge in the header to the full cart page and the empty state. Quantities, summaries, modals — connected to the BFF.
Review cart and go to checkout without leaving the page.
Edit quantities and see full cart before checkout.
Show cart size at a glance in the header.
Confirm add-to-cart and offer next action.
Guide customers when the cart has no items.
Show totals and key info before checkout.
Let customers apply discounts and promo codes.
05 · Checkout
Step-by-step flow with cart preview, billing and shipping, delivery method, payment, review and completion — including success and failure states.
Guide customers through checkout one step at a time.
Let customers choose guest or account checkout.
Keep order summary visible during checkout.
Collect billing address for payment and invoices.
Collect or select delivery address.
Let customers choose shipping option.
Let customers choose and complete payment.
Review order and addresses before placing.
Handle payment result and retry or redirect.
Confirm order and set post-purchase expectations.
06 · Customer
The complete signed-in surface: edit personal data, manage saved addresses, change password and browse order history end-to-end.
Let customers view and edit personal data.
Let customers save and manage addresses for reuse.
Show one saved address with edit/remove.
Let signed-in customers change their password.
Let customers see past orders.
Show single order content and status.
07 · Content
CMS-driven landing, info and campaign pages, built from a small set of composable teasers that cover most editorial layouts.
CMS-driven pages (e.g. landing, info, campaign).
Renders a single image with optional caption and link. Used in grids or cards.
Renders a scrollable row of items.
Renders a heading with optional subtext or CTA.
Renders a rich text block.
Renders formatted rich text (headings, lists, links).
Renders a full-width hero: background image, headline, body copy, and CTA.
Full-width block with background image, headline, body, and CTA. Centered content with overlay.
Two-column layout: category label, headline, body, subcategory links, and image.
Image with overlay text panel (category, headline, body, CTA).
Carousel of slides: hero-style or image with caption. Single visible slide.
Expandable accordion with title and rich text body per item.
Renders a block with product carousel: image, name, price, and link (e.g. to PDP or listing).
09 · Product
A complete product detail page with variant picker, gallery, price display and a sticky buy box that follows the customer down the page.
Single place to see product info and buy.
Choose variant and add to cart without scrolling away.
Select product variant by attributes (e.g. size, color) and update price and availability.
Let customers inspect product images and zoom.
Show whether the product can be ordered.
Show price, discounts, and tax so customers know what they pay.
10 · Product Collection
Category and collection pages with the listing primitives — filters, sorting, pagination and a clean product card.
Browse products by category or collection.
Narrow listing by attributes (e.g. size, color).
Order listing by price, name, or relevance.
Load more products without leaving the page.
Show product preview and quick actions in listing.
11 · Search
From the search field in the header to the dedicated results page, with autosuggest and predictive results as the customer types.
Search and see results without leaving the page.
Find products by text query.
Suggest queries and products as the customer types.
Dedicated page for search results and refinements.
12 · Store Config
The settings layer behind every form: supported countries, currencies, locales and any other store-shaped configuration.
Drive forms and options from store data (e.g. countries).
13 · Wishlist
A simple wishlist surface — save and remove products, then move them across to cart when the customer is ready to buy.
Single place to see and manage saved products.
Save products for later or remove from wishlist.
Move wishlist items to cart for purchase.
Components
The reusable building blocks the shop experience is assembled from — design system, UI, product, form, overlay, navigation and utility components.
01 · Design System
The visual foundation — colour, typography and spacing tokens that keep every screen consistent.
Theme colors and palette.
Font system and base styles.
02 · UI Components
Core building blocks — buttons, links, badges and the primitives every other component is built on.
Expandable sections.
Labels and status indicators.
Page location and path.
Primary action button.
Content container.
Section separator.
Form field with label and error.
Accessible label for form inputs.
Brand logo.
Page width and padding.
03 · Product Components
Everything used to present and select products — cards, galleries, grids, price and variant pickers.
Single image in gallery.
Full-screen image overlay.
Product images with thumbnails.
Responsive product grid.
Product tile with image, price, and actions.
Price, discount, and RRP display.
Quantity increment and decrement.
04 · Form Components
Inputs, selects and form controls with validation and locale-aware behaviour built in.
Text field with validation.
Checkbox input.
Dropdown selection.
Toggle switch.
Single choice input.
Radio button group.
Date picker.
Password field with visibility toggle.
Rich text editor for formatted content.
Input with suggestions and type-ahead.
05 · Overlay Components
Layered surfaces — dialogs, drawers, flyouts and toasts that sit above the page.
Modal dialog.
Slide-out panel.
Bottom sheet.
Hover hint.
Info icon with popover.
Generic popover anchored to a trigger.
Temporary notification.
07 · Display Components
Content presentation — tables, carousels and the blocks that lay information out.
Data table.
Comparison layout.
Horizontal scroll area.
Carousel with scrollbar.
SEO-friendly content block.
Scroll to top button.
08 · Interactive Components
Stateful controls — variant selectors and other pieces that respond to customer input.
Variant selection with color, thumbnail, and value selectors.
09 · Utility Components
The quiet helpers — loading states and accessibility utilities used across the app.
Loading state indicator.
Gradient overlay.
Ready to launch
All these features are ready to use. Get started with SHOPin and ship your composable storefront in weeks, not quarters.