This is an official Turborepo monorepo integrating a Medusa2 backend with a Remix frontend. Showcasing a Coffee Roast themed dynamic storefront, it features Stripe payment integration, scalability with unlimited products and categories, and a developer-friendly setup using TypeScript and Biome. Ideal for rapidly building dynamic, scalable e-commerce stores.
BarrioDemo.mp4
- Prerequisites
- Project Overview
- Getting Started
- Local Development Setup
- Resetting the Database
- Enabling Express Checkout
- Useful Links
- Contributors
Before you begin, ensure you have the following installed:
- ✅ Node.js 20+
- ✅ Yarn 4.5.0
- ✅ Remix
- ✅ Docker and Docker Compose
- Dynamic Storefront: Leverages Medusa2's robust headless commerce capabilities and Remix's fast, data-driven UI for modern e-commerce experiences.
- Advanced Payment Integration: Out-of-the-box support for Stripe enables secure and reliable transaction processing.
- Scalability: Supports unlimited products, collections, categories, and tags, accommodating businesses as they expand their inventory.
- Developer Experience: Built with TypeScript and Biome, enhancing code quality, consistency, and maintainability.
You can view a live demo of the project here.
- Clone this repository
- Install dependencies:
yarn
- Test the setup:
yarn build
-
Generate
.env
files for both the Medusa backend and the Remix storefront.yarn run generate-env
This will generate the
apps/medusa/.env
andapps/storefront/.env
files. -
Replace the following environment variables in your
apps/medusa/.env
file:STRIPE_API_KEY
# Your Stripe secret key. Required to checkout.
-
Run the following command to initialize the Medusa database:
yarn run medusa:init
This will set up the database and seed it with some initial data, including a user with the email
admin@medusa-test.com
and passwordsupersecret
. -
Start the development servers:
yarn dev
This will start both the Medusa backend and the Remix storefront in development mode.
-
Create a Publishable API Key for your storefront:
-
Log in to the Medusa admin using the credentials
admin@medusa-test.com
/supersecret
-
Navigate to the Publishable API Keys settings and copy an exisiting API Key or create a new one with at least one Sales Channel.
-
-
Replace the environment variables in the
apps/storefront/.env
file:MEDUSA_PUBLISHABLE_KEY
# API key from previous stepSTRIPE_PUBLIC_KEY
# starts withpk_
STRIPE_SECRET_KEY
# starts withsk_
-
Restart your storefront and medusa backend:
yarn dev
In order to reset the database, follow the steps from 3 to 7 in the Local Development Setup section.
For a more complete guide on how to enable Express Checkout, see the Stripe documentation.
To enable Express Checkout in the Medusa Storefront, follow these steps:
-
Enable the payment methods you want to use to during Express Checkout in the Stripe payment methods settings.
-
Create your own domain association file to verify your domain, and replace the content in the
apps/storefront/app/routes/[.well-known].apple-developer-merchantid-domain-association.tsx
file with your own domain association file content. -
Register your domain for payment methods - see this stripe guide for more information.
- for development, you may want to use a service like ngrok.
- for production, a domain with
https
is required.
Made with ❤️ by the Lambda Curry team.