Online Store
E-commerce · React + Node (Express) · 23 @molecule/* packages
Shopify-like storefront with product catalog, cart, checkout, and inventory management — including a built-in subscription tier (Free / Pro / Team) backed by Stripe
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (18)
- StorefrontPage
/ - ProductDetailPage
/product/:id - CartPage
/cart - CheckoutPage
/checkout(signed in) - OrdersPage
/orders(signed in) - AdminProductsPage
/admin/products(signed in) - AdminOrdersPage
/admin/orders(signed in) - Login
/login - AdminDashboardPage
/admin(signed in) - AdminSettingsPage
/admin/settings(signed in) - CategoryPage
/category/:slug - OrderDetailPage
/orders/:id(signed in) - SearchPage
/search - Settings
/settings(signed in) - WishlistPage
/wishlist(signed in) - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password
Data model (10 tables)
- cart_items — id, user_id, product_id, variant_id, quantity, created_at, updatedAt
- wishlists — id, user_id, product_id, created_at, updatedAt
- newsletter_subscriptions — id, email, created_at, updatedAt
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- inventory — id, product_id, available, reserved, reason, updated_at, updatedAt, created_at
- order_items — id, order_id, product_id, variant_id, quantity, unit_price, name, created_at, …
- orders — id, user_id, status, subtotal, tax, shipping, total, currency, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- products — id, user_id, name, description, price, category, sku, variants, …
- reviews — id, user_id, product_id, rating, title, body, status, created_at, …
API (10 handlers)
- \_test
api/src/handlers/_test.ts - admin
api/src/handlers/admin.ts - cart
api/src/handlers/cart.ts - newsletter
api/src/handlers/newsletter.ts - orders
api/src/handlers/orders.ts - products
api/src/handlers/products.ts - reviews
api/src/handlers/reviews.ts - settings
api/src/handlers/settings.ts - storefront
api/src/handlers/storefront.ts - wishlist
api/src/handlers/wishlist.ts
Subscription tiers
free / pro / team — gated by: maxProducts, maxOrdersPerMonth, maxSkuVariantsPerProduct, maxStorageMb, customDomain, abandonedCartRecovery, advancedAnalytics, transactionFeePercent, multiCurrency
Built from 23 @molecule/* packages
@molecule/api-ai-openai@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-image-sharp@molecule/api-oauth-github@molecule/api-oauth-google@molecule/api-payments-stripe@molecule/api-resource-cart@molecule/api-resource-inventory@molecule/api-resource-order@molecule/api-resource-payment@molecule/api-resource-product@molecule/api-resource-review@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-data-table@molecule/app-gallery@molecule/app-shell-layout-react@molecule/app-virtual-scroll
Required secrets
DATABASE_URLPostgreSQL connection stringSTRIPE_SECRET_KEYStripe secret API key for payment processingSTRIPE_PUBLISHABLE_KEYStripe publishable key for client-side checkoutSTRIPE_WEBHOOK_SECRETStripe webhook signing secretMEILISEARCH_API_KEYMeiliSearch admin API keyS3_BUCKETS3 bucket for product imagesAWS_ACCESS_KEY_IDAWS access key for S3AWS_SECRET_ACCESS_KEYAWS secret key for S3MAILGUN_API_KEYMailgun API key for transactional emailsMAILGUN_DOMAINMailgun sending domainOPENAI_API_KEYOpenAI API key for product recommendations
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing