Glossary
The words used across BabyMart and these docs, in alphabetical order.
Each term links to the page that explains it in full. Other pages link here
with /reference/glossary/#term.
The admin role. Can use every page of the admin dashboard and every
API endpoint. See Auth and roles.
Admin dashboard
Section titled “Admin dashboard”The Vite + React staff console in apps/admin, on port 5173. See
Admin dashboard.
The Express + MongoDB server in apps/api, on port 8000. Every app reads and
writes data only through it. See API server.
BrandLogo
Section titled “BrandLogo”The Little Bear logo component in @babyshop/ui, used by the storefront and the
admin. See Shared packages.
Cash collection
Section titled “Cash collection”A record of cash a deliveryman collected for a COD order. It goes
collected → submitted (handed to accounts) → confirmed. See
How it works.
Cash on delivery (COD)
Section titled “Cash on delivery (COD)”Payment method cod: the order is placed unpaid and the courier collects the
money at the door. See Payments.
Customer
Section titled “Customer”A shopper. In the code the role is user. See Who uses it.
Design tokens
Section titled “Design tokens”The CSS variables (cream background, chocolate primary, sienna accent) in
packages/ui/src/styles/tokens.css that every web UI imports. See
Shared packages.
Employee
Section titled “Employee”The employee role. Every employee also has an employee role
that decides which fulfilment steps they can do.
Employee role
Section titled “Employee role”The employee_role field: call_center, packer, incharge, deliveryman
or accounts. An incharge can do every employee step. See
Auth and roles.
The JSON Web Token the API issues at sign-in. Apps send it as
Authorization: Bearer <token>; it lasts 30 days. See
Auth and roles.
Monorepo
Section titled “Monorepo”One repository that holds several apps and packages. BabyMart is a pnpm workspace run by Turborepo. See Project structure.
A purchase: items, shipping address, totals, status, paymentStatus and
paymentMethod. See Data models.
Order status
Section titled “Order status”Where an order is in fulfilment: pending, address_confirmed, confirmed,
processing, packed, delivering, delivered, completed or cancelled.
See How it works.
Payment intent
Section titled “Payment intent”A Stripe object for one card payment. The API creates one for the mobile
PaymentSheet with POST /api/payments/create-intent. See
Payments.
Payment status
Section titled “Payment status”The paymentStatus field: pending, paid, failed, refunded or
cod_collected. Separate from order status.
Preview role
Section titled “Preview role”The read-only preview role used for the public demo. The admin dashboard lets
it see every page but blocks every create, update and delete. See
Auth and roles.
Product base
Section titled “Product base”A curated collection of products with its own page at
/product-base/[slug] on the storefront. Managed under “Product Bases” in the
admin. See Data models.
Product type
Section titled “Product type”A top-level grouping of products (for example a home-page section). Managed under “Product Types” in the admin.
The role field on a user: admin, user, employee, vendor or
preview. See Auth and roles.
SSLCommerz
Section titled “SSLCommerz”A payment gateway for Bangladesh, charged in BDT. The API supports its sandbox and live modes. See Payments.
Storefront
Section titled “Storefront”The customer shop in apps/web, built with Next.js 16, on port 3000. See
Storefront.
Stripe Checkout Session
Section titled “Stripe Checkout Session”A hosted Stripe payment page. The storefront creates one per order in its own route handler. See Payments.
Turborepo
Section titled “Turborepo”The task runner (turbo) that runs dev, build, lint, test and
type-check across every package in the right order. See
Project structure.
Vendor
Section titled “Vendor”A seller with the vendor role. Vendors apply on the storefront, an admin
approves them, then they manage their own products. The whole feature can be
switched off in vendor config. See Storefront.
Webhook
Section titled “Webhook”A signed HTTP call from Stripe to BabyMart when a payment succeeds. It is how
an order becomes paid. See Payments.
Workspace package
Section titled “Workspace package”A package inside the pnpm workspace, named @babyshop/*. All apps except the
mobile app are workspace packages. See Shared packages.