Docs

Content-rich Starter with a Strapi integration

by rigby

Solace is a B2C starter that includes filterable product grids, order history, user profiles, multi-step checkout, product search, customizable product pages, and a built-in Strapi integration.

Content-rich Starter with a Strapi integration



DTC furniture eCommerce starter

Solace is a sleek and modern DTC furniture eCommerce starter built on Medusa 2.0 and Next.js 14. It offers a complete suite for launching an online store, including a product grid with filtering, user profiles, order history, multi-step checkout with Stripe integration, product search, and customizable product pages. Integrated with Strapi CMS, it offers pre-built content models for easy website editing.

Table of Contents

Prerequisites

  • MedusaJS 2.0 backend. If this hasn't been set up yet, please use the following:
    • Our prepared repository: Medusa 2.0 API
    • Medusa 2.0 Documentation

      Important: If you're not using our prepared API repository, remember to:

      • Copy the folder from Repo Link and paste it to your API project
      • Copy the Middlewares file from Repo Link and paste it to your API project

      These files are required for the search engine and filter logic to work properly. Without them, the search and filtering functionality will not be available.

  • A CMS management system like Strapi. If this hasn't been set up yet, please use the following:
    • Our prepared repository: Strapi
    • Strapi Documentation

      Important: After setting up Strapi, configure the revalidation webhook:

      1. Set in your Next.js (you can generate a secure value using )
      2. In Strapi admin panel: Settings → Webhooks → Create new webhook
      3. Configure webhook:
        • URL:
          Example:
        • No additional headers needed
        • Enable Entry and Media events (Create, Update, Delete)

Overview

Features

The storefront has been designed to meet all the requirements of modern e-commerce stores.

  • Full user profile functionality
    • Order history
    • Profile settings
    • Shipping details
    • Password resetting
  • Shopping cart
    • Add/remove products
    • Apply promotional codes
  • Checkout
    • A complete 3-step checkout process
    • Payment support via Stripe
    • Mail notifications after order placement
  • About Us, Blog, Privacy Policy, and Terms and Conditions pages
    • Fully customizable through the CMS.
  • Product search functionality based on keywords.
  • Product pages
  • Collections and categories
  • Two themes support
    • Dark
    • Light
  • Next.js 14 support

Demo

User Profile

Cart

Checkout

Product Page

Quickstart

git clone https://github.com/rigby-sh/solace-medusa-starter.git

npm install

Create a .env file and add environment variables listed below.

1NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=YOUR_MEDUSA_PUBLISHABLE_KEY
2NEXT_PUBLIC_MEDUSA_BACKEND_URL=YOUR_MEDUSA_BACKEND_URL
3NEXT_PUBLIC_DEMO_MODE=BOOLEAN_VALUE
4NEXT_PUBLIC_STRAPI_URL=YOUR_STRAPI_URL
5NEXT_PUBLIC_STRAPI_READ_TOKEN=YOUR_STRAPI_READ_TOKEN
6NEXT_PUBLIC_CDN_SPACE_DOMAIN=YOUR_CDN_SPACE_DOMAIN
7NEXT_PUBLIC_SPACE_DOMAIN=YOUR_SPACE_DOMAIN
8NEXT_PUBLIC_SPACE_ENDPOINT=YOUR_SPACE_ENDPOINT
9STRAPI_WEBHOOK_REVALIDATION_SECRET=YOUR_STRAPI_WEBHOOK_REVALIDATION_SECRET

Start your application with autoReload enabled

npm run dev

Build the project to generate the production version preview

npm run build

Run the preview version of the project

npm run start

Deploying the project with Vercel

Deploying your application on Vercel is a quick and straightforward process that allows for easy management and scaling of your project. To deploy your project, click the button below to start the process. Vercel will guide you through the configuration steps and connect to your repository.

Resources

Learn more about Medusa

Learn more about Next.js

Learn more about Strapi

[!IMPORTANT] > Image Usage Disclaimer: The images used in this starter are for preview purposes only. They are licensed exclusively for use within this demo and cannot be used in any commercial applications or redistributed. If you intend to use this starter for your own store, please replace all images with assets that are appropriately licensed for your project.

Contributors