Skip to main content

Choosing your approach

Partners build on Propeller from different starting points. Some want a storefront running today. Some have an existing site on a CMS with its own frontend framework. Some need full control over every line of UI. The Storefront SDK supports three common approaches. Pick the one that fits your project, then follow the linked guides.

Approach A: Start from an Accelerator boilerplate​

Scaffold a complete storefront with the create-propeller-shop CLI, then customize it. The boilerplate owns routing: commerce pages (product, category, cart, checkout, account) are file-system routes, and on Next.js a catch-all route serves content pages from a CMS.

npx @propeller-commerce/create-propeller-shop@latest my-shop --stack=next --mode=hybrid --cms=none

Uses every layer: the SDK, the core layer, a UI library and, on Next.js, an optional CMS.

Best for new projects, a short time to market and pre-sales demos. Available for Next.js, Vue and Nuxt. Start with the Accelerator quickstart.

Approach B: Add the packages to an existing app​

Install the SDK and the UI library for your framework, add a GraphQL route on your server, mount the providers and use components and hooks in pages you already own. Add the SDK to your app walks through it.

Uses the SDK plus the React or Vue UI library. Add the CMS renderers if your CMS drives page structure.

Best for teams with an existing site, a CMS that owns routing or a design system to integrate with. If you keep your own components, use the headless hooks only: they hold the state and make the API calls while your components do the rendering.

Who owns the page​

Approach B comes in two shapes, depending on who owns the page URL:

Who owns the page. Commerce-led: a page URL reaches the storefront app, which serves the commerce pages from Propeller and pulls content in from a CMS. CMS-led: a page URL reaches your CMS, which serves its pages and templates with Propeller components placed in them as blocks.

  • Commerce-led. Your app owns the URLs and routing, as the Accelerator boilerplates do. Propeller components render the commerce pages, and content from a CMS is pulled in where needed.
  • CMS-led. Your CMS owns all pages, URLs and routing. Propeller components are blocks that editors place in CMS templates. This suits multi-brand and multi-site setups where editors manage everything in one place.

Approach C: Use the SDK headless​

Use the SDK services (and the formatters in the core layer) directly and build all UI yourself. No Propeller components. This is also the approach for a framework without a Propeller UI library, such as Angular, Svelte or Web Components: the SDK works in any JavaScript or TypeScript project. The component reference lists what the UI libraries offer, which makes a good checklist of what to build.

Uses the SDK only.

Best for strict architectural requirements, a framework without a Propeller UI library or full control over the frontend.

If you prefer no SDK at all, write your own queries against the GraphQL API: see Build directly on the GraphQL API.

Decision table​

Your situationRecommended approach
New storefront, speed is the priorityA: scaffold a boilerplate with create-propeller-shop
Prototype or demo quickly for pre-salesA: scaffold a boilerplate
Existing React app, want pre-built commerce UIB: install @propeller-commerce/propeller-v2-react-ui and the SDK
Existing Vue or Nuxt app, want pre-built commerce UIB: install @propeller-commerce/propeller-v2-vue-ui and the SDK
Existing React or Vue app with your own design systemB, hooks only: your components render, the headless hooks hold state and call the API
Your CMS owns routing and page structureB, CMS-led: components as blocks, the CMS handles pages and URLs
You manage multiple brands or sites from one CMSB, CMS-led
A framework with no Propeller UI library (Angular, Svelte)C: SDK services and your own UI, with the component reference as a checklist
You need full control over every part of the UIC: SDK only
A B2B portal that hides prices until loginAny: set the portal mode to semi-closed (see B2B capabilities)

Next steps​