Back to Templates
TEMPLATE

E-COMMERCE PLATFORM

STOREFRONT, ORDER MANAGEMENT, AND THE CUSTOMER FLOWS IN BETWEEN

A Next.js storefront on a Medusa 2 commerce engine: direct purchase and enquiry-to-order flows, payments in India and abroad, customer accounts, a journal and instant search. Kempti is the live example.

E-commerce Platform cover art: a catalogue grid of six hand-painted product cards with prices and artisan names, behind a row of category chips

The platform as built

2
Order flows
4
Currencies
5
Custom modules
1
Server

WHAT YOU GET

Four parts of one platform, each one running on the live example today

Storefront

Next.js App Router with shadcn/ui and Tailwind, mobile-first.

  • Products, categories, collections
  • Artisans and their stories
  • Instant search
  • Journal
  • Cart, checkout, order confirmation
  • Order tracking
  • Enquiry form
  • Account, about, contact

Order management

Medusa 2 with its admin dashboard, plus custom modules.

  • Products and inventory
  • Orders and fulfilment
  • Shipping regions: India flat-rate, international
  • Customers
  • Artisan profiles module
  • Enquiry module with statuses
  • Reviews and wishlist modules
  • Transactional-email notifications

Customer accounts

Optional accounts with email and password; guest checkout works too.

  • Orders
  • Enquiries
  • Wishlist
  • Addresses
  • Order tracking
  • Reviews
  • Multi-currency prices

Content & search

A journal the team writes in, and search that answers as you type.

  • Ghost-powered journal
  • Meilisearch instant search
  • Across products, categories and artisans
A curated wall of six framed handcrafted pieces on an indigo wall
Collections on the live example: sets a whole project can be built around

TWO ORDER FLOWS

A cart for what is on the shelf, and an enquiry for what is not. Both end in the same order book.

A state diagram in two lanes: direct purchase from browse to track, and enquiry to under review to quoted to accepted to draft order to payment link to paid

1 · Direct purchase

  1. 1Browse the open storefront and add to cart.
  2. 2Checkout as a guest, or with an account (email and password).
  3. 3Payment is routed by currency: INR to Razorpay; USD, EUR and GBP to Stripe. A small custom middleware, not a plugin setting.
  4. 4Order-placed email, then fulfilment in the admin dashboard.
  5. 5Order-shipped email, and the customer tracks the order on the storefront.

2 · Enquiry → quote → order

  1. 1The customer submits an enquiry for bulk or custom pieces.
  2. 2The admin reviews it: new → under review → quoted.
  3. 3The customer accepts the quote.
  4. 4A workflow creates a draft order and emails a payment link.
  5. 5Payment completes the order; the enquiry closes.

CUSTOMER JOURNEY

A phone showing a product page with the artisan's story, prices in four currencies, a wishlist heart, reviews and an Add to cart button, with account tags and an order-tracking card around it

UNDER THE HOOD

Storefront and commerce engine talk over an API; everything they need runs beside them in one Docker Compose file on one server.

Architecture diagram: a Next.js storefront and a Medusa 2 commerce engine with custom modules, above PostgreSQL, Redis, S3-compatible media, Meilisearch, Ghost and Resend inside a Docker Compose outline, deployed by GitHub Actions
PostgreSQLRedisS3-compatible media storageResend transactional emailDocker Compose · one serverGitHub Actions CI/CD

NextLive shipping-carrier APIs · Newsletter · Analytics dashboard

THE LIVE EXAMPLE

Kempti cover art: a Pattachitra-style scroll with a lotus and two fish

QUESTIONS

Is it a multi-vendor marketplace?
No. The platform runs a direct sourcing model with a single seller: one store owner lists the products, takes the payment and fulfils the order. Artisan profiles are storytelling and attribution on every product, with one artisan linked to many products; they are not vendor accounts with their own checkout.
Can it take payments in India and abroad?
Yes. Prices are shown in INR, USD, EUR and GBP, and a small custom middleware routes the payment by currency: INR goes to Razorpay, USD, EUR and GBP go to Stripe. It is a piece of code in the checkout, not a plugin setting, so the rule can be changed without touching either gateway.
How long does it take to launch?
Typically a few weeks. The platform already exists; the work is your catalogue, your branding, shipping regions and the payment accounts, plus any custom module your business needs.
Can we add custom modules?
Yes. The commerce engine is Medusa 2, and the artisan profiles, enquiries, reviews, wishlist and transactional-email notifications on the live example are all custom modules built on it. A module for your business is built the same way, with its own data and its own admin screens.
Where is it hosted and who runs it?
Every service, from the storefront and commerce engine to PostgreSQL, Redis, media storage, search and the journal, runs in Docker Compose on a single server, with GitHub Actions deploying on every push. It can be a server you own, or one Kaiross runs for you.

YOUR SHELF, YOUR ORDER BOOK

Tell us what you sell and where you ship. We set the platform up on your catalogue, your currencies and your server, typically in a few weeks.