Tech Stack
- Next.js 16 - App Router, Server Actions, Turbopack
- React 19 - Server Components
- Tailwind CSS 4 - Utility-first styling
- TypeScript 5 - Full type safety
- @spree/sdk - Official Spree Commerce SDK
- @spree/next - Server actions, caching, and cookie-based auth
- Sentry - Error tracking and performance monitoring
Features
- Server-First Architecture - All API calls happen server-side, API keys never exposed to the browser
- Secure Authentication - JWT tokens stored in httpOnly cookies
- Product Catalog - Browse, search, and filter with faceted navigation
- Shopping Cart - Server-side state management
- Multi-Step Checkout - Guest and signed-in users, multi-shipments, coupon codes, gift cards, store credit
- Stripe Payments - Credit Cards, Apple Pay, Google Pay, Klarna, Affirm, SEPA and more via Spree Stripe
- Google Tag Manager and GA4 Ecommerce event tracking
- Customer Account - Profile, order history, address book, gift cards, saved payment methods
- Multi-Region - Country and currency switching via URL segments
- Responsive Design - Mobile-first Tailwind CSS
Prerequisites
- Node.js 20+
- A running Spree Commerce 5.4+ instance
Installation
Option 1: Fork the Repository (Recommended)
Fork the repository on GitHub, then clone your fork:Option 2: Clone Directly
Configuration
Copy the environment file:.env.local with your Spree API credentials:
These are server-side only variables — no
NEXT_PUBLIC_ prefix needed since all API calls happen in Server Actions.
