Introduction
Own your ecommerce stack. bermooda is an open-source ecommerce platform that ships as one deployable app: a themed storefront, a merchant admin, and a REST API.
Clone it, scaffold a shop in minutes, and run catalog, cart, checkout, orders, and staff tools without stitching together a pile of SaaS products. Domain logic lives in app/core/*, so you can read, change, and extend the engine like any other Node app.
One service, three surfaces
Section titled “One service, three surfaces”Storefront, admin, and public/admin REST APIs all run in a single React Router app. One process, one database, one place to ship changes.
Why engineers try it
Section titled “Why engineers try it”- One service, three surfaces — storefront, admin, and REST APIs in a single app
- Real commerce primitives — catalog, cart, checkout, payments, shipping, customers, discounts, and inventory under
app/core/* - Themes and plugins — swap storefront UI under
app/themes/*; extend behavior with hook-based plugins underapp/plugins/* - Local-first — SQLite for development, PostgreSQL when you need it; no Docker or external database required to start
- CLI-first setup —
bermooda installscaffolds dependencies, env, database, admin user, and store name
| Layer | Choice |
|---|---|
| Runtime | Node.js ≥ 24 |
| App framework | React Router (SSR, loaders, actions) |
| UI | React, Tailwind CSS |
| Build | Vite |
| Data | Prisma · SQLite (local) · PostgreSQL (production-ready) |
| Auth | better-auth (separate admin/staff and customer sessions) |
| Payments | Stripe |
| Resend (+ React Email templates) | |
| Deploy | Plain Node / Docker |
| Quality | Vitest, oxlint, oxfmt |
Next steps
Section titled “Next steps”- Quick start — scaffold a shop with the CLI
- Themes — how storefront UI is packaged and rendered
- Plugins — hooks, blocks, and extension points
- REST API — public and admin HTTP contracts