A Turborepo monorepo integrating a Medusa2 backend with a Remix frontend, featuring a Coffee Roast themed dynamic storefront. Includes Stripe payment integration, scalability with unlimited products and categories, and a developer-friendly setup using TypeScript and Biome. Ideal for rapidly building scalable e-commerce stores.
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.
https://github.com/user-attachments/assets/3c10d2f5-91b8-405c-a47c-c8ae8a4be575
Before you begin, ensure you have the following installed:
You can view a live demo of the project here.
yarn
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
[email protected]
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 [email protected]
/ 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 with pk_
STRIPE_SECRET_KEY
# starts with sk_
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.
https
is required.Made with ❤️ by the Lambda Curry team.