finds.dev← search

// the find

reactioncommerce/example-storefront

★ 615 · JavaScript · Apache-2.0 · updated Jul 2023

Example Storefront is Reaction Commerce’s headless ecommerce storefront - Next.js, GraphQL, React. Built using Apollo Client and the commerce-focused React UI components provided in the Storefront Component Library (reactioncommerce/reaction-component-library). It connects with Reaction backend with the GraphQL API.

A reference Next.js storefront for Mailchimp's Open Commerce (formerly Reaction Commerce) headless ecommerce platform. It wires Apollo Client to a GraphQL API with SSR, Stripe payments, and a full checkout flow. Aimed at developers wanting a working starting point for a Reaction-based storefront rather than building from scratch.

- Full checkout flow is actually implemented end-to-end: cart, Stripe payment intent creation, address book, order history — not just stubbed out

- Apollo Client integration is clean with a dedicated omitVariableTypenameLink to handle GraphQL mutation gotchas that bite most people the first time

- Analytics tracking layer is properly decoupled via a custom provider pattern, so you can swap Segment for anything without touching component code

- SSR is real — locale-aware routing with [lang] segments and server-side GraphQL fetching, not bolted on as an afterthought

- Last push July 2023 and the underlying platform got acquired by Mailchimp then effectively abandoned — you're building on a foundation with no upstream future

- Mixes JS and TS inconsistently (Header.tsx next to everything else in .js) with no apparent migration plan, making the type safety story a mess

- The yarn link workflow for local component library development is seven manual steps including renaming config files — this is a project that needs proper monorepo tooling (Turborepo, nx) and never got it

- MobX global stores alongside React context alongside Apollo cache is three state management systems doing overlapping jobs; you'll spend real time figuring out which one owns what

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →